模型构建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 类别数量

常用于分类任务