
模型构建Graph
graph用于构建深度学习模型
创建计算图实例
Graph *create_graph();
返回计算图实例
添加计算层
void append_layer2grpah(Graph *graph, Layer *l);
| 参数 | 描述 |
|---|---|
| Graph *graph | 计算图实例 |
| Layer *l | 计算层实例 |
构建直连层
Layer *make_connect_layer(int output, int bias, char *active);
| 参数 | 描述 |
|---|---|
| int output | 输出数据大小 |
| int bias | 是否添加bias(bool) |
| char *active | 激活函数类型 |
构建卷积层
Layer *make_convolutional_layer(int filters, int ksize, int stride, int pad, int bias, char *active);
| 参数 | 描述 |
|---|---|
| int filters | 输出数据通道 |
| int ksize | 卷积核大小 |
| int stride | 滑动窗口步长 |
| int pad | 填充大小 |
| int bias | 是否添加bias(bool) |
| char *active | 激活函数类型 |
构建均匀池化层
Layer *make_avgpool_layer(int ksize, int stride, int pad);
| 参数 | 描述 |
|---|---|
| int ksize | 池化核心大小 |
| int stride | 滑动窗口步长 |
| int pad | 填充大小 |
构建最大值池化层
Layer *make_maxpool_layer(int ksize, int stride, int pad);
| 参数 | 描述 |
|---|---|
| int ksize | 池化核心大小 |
| int stride | 滑动窗口步长 |
| int pad | 填充大小 |
构建批次归一化层
Layer *make_normalization_layer(float momentum, int affine, char *active);
| 参数 | 描述 |
|---|---|
| float momentum | 滑动平均参数 |
| int affine | 缩放参数是否更新 |
| char *active | 激活函数类型 |
构建dropout层
Layer *make_dropout_layer(float probability);
| 参数 | 描述 |
|---|---|
| float probability | 随机激活的随机概率 |
构建shortcut层
Layer *make_shortcut_layer(Layer *shortcut, int shortcuttype, char *active);
| 参数 | 描述 |
|---|---|
| Layer *shortcut | 直连对象 |
| int shortcuttype | 直连类型 |
| char *active | 激活函数类型 |
构建crossentropy层
Layer *make_crossentropy_layer(int group);
| 参数 | 描述 |
|---|---|
| int group | 类别数量 |
常用于分类任务