layer

layer.h & layer.c 定义了深度学习基本元素——层的各种属性&操作

类型 名称 意义
enum LAYER_TYPE type 层的类型
enum ACTIVATION activation 激活函数类型
COST_TYPE cost_type 代价函数类型
void * forward(...) 前馈函数指针
void * backward(...) 反馈函数指针
void * update(...) 参数更新函数指针
void * forward_gpu(...) gpu 前馈函数指针
void * backward_gpu(...) gpu 反馈函数指针
void * update_gpu(...) gpu 参数更新函数指针
int batch_normalize 是否进行 batch_normalize
int shortcut ?
int batch 批量大小
int forced ?
int flipped 是否是翻转的
int inputs 输入feature map 元素个数(1个batch)
int outputs 输出feature map 元素个数(1个batch)
int nweights filter 中 weight 元素个数
int nbiases filter 中 bias 元素个数
int extra ?
int truths ground truth box 数目( e.g. 30*5)
int h,w,c 输入feature map 的高度,宽度,厚度(channel数)
int out_h,out_w,out_c 输出feature map 的高度,宽度,厚度(channel数)
int n 不同层有不同含义,region_layer 表示每个cell boxes 数目,route_layer 表示有多少个层参与拼接
int max_boxes 最大 ground truth box数目
int groups ?softmax_tree 相关
int size ?可能指一个预测的box的元素个数(=coords+classes+1)
int side ?可能是最后一层feature map长宽
int stride 滑动步长大小
int reverse 是否翻转
int flatten 是否摊平
int pad feature map 补0数目
int sqrt 是否开根号
int flip 是否翻转
int binary 是否二进制权重
int xnor 是否二进制权重&feature_map
int steps 迭代次数
int hidden ?
int truth ?是否ground truth
float smooth ?是否平滑
float dot ?
float angle 角度调整幅度
float jitter 抖动调整幅度
float saturation 饱和度调整幅度
float exposure 过曝调整幅度
float shift 平移调整幅度
float ration 长宽调整幅度
float learning_rate_scale 学习速率 scale 比例
int softmax ?是否采用softmax
int classes 类别数目(20)
int coords 坐标个数(4)
int background ?是否是背景
int rescore 是否重定义分数(loss中 has object 的 confidence loss,0则回归到1,1则回归到IOU)
int objectness ?
int does_cost ?计算cost
int joint ?链接
int noadjust ?不调整
int reorg ?是否重新组织顺序
int log ?取对数
int adam 是否采用adam sgd
float B1 ?adam参数
float B2 ?
float eps ?
int t ?
float alpha ?
float beta ?
float kappa ?adam参数
float coord_scale loss中坐标loss系数
float object_scale loss中有物体loss系数
float noobject_scale loss中没有物体loss系数
float class_scale loss中物体分类softmax loss系数
int bias_match ?
int random ?
float thresh 阈值
int classfix ?
int absolute ?
int onlyforward 是否只进行前馈操作
int stopbackward 是否停止反馈操作
int dontload ?
int dontloadscales ?
float temperature ?
float probability ?准确率
float scale ?scale比例
char * cweights ?滤波器weight参数值
int * indexes 数据坐标值(在max pool中用来指示输入feature map的)
int * input_layers
int * input_sizes
int * map
float * rand
float * cost
float * state ?RNN LSTM
float * prev_state ?
float * forgot_state ?
float * forgot_delta ?
float * state_delta ?RNN LSTM
float * concat ?
float * concat_delta ?
float * binary_weights 滤波器二进制weights值
float * biases 滤波器biases参数值
float * bias_updates 滤波器biases参数更新大小
float * scales ?scale值
float * scale_updates ?scale更新值
float * weights 滤波器weight参数值
float * weight_updates 滤波器weight参数更新大小
float * delta ???????梯度
float * output 输出 feature map值 (注意没有输入feature map值,因为一般就是上一层的输出,从network中拿)
float * squared ?平方值
float * norms ?l1 l2正则化值
float * spatial_mean ?空间平均值
float * mean ?平均值
float * variance ?方差
float * mean_delta ?平均梯度
float * variance_delta ?方差梯度
float * rolling_mean ?波动平均
float * rolling_variance ?波动方差
float * x ?
float * x_norm ?
float * m ?
float * v ?
float * bias_m
float * bias_v
float * scale_m
float * scale_v
float * z_cpu
float * r_cpu
float * h_cpu
float * binary_input
struct layer * input_layer
struct layer * self_layer
struct layer * output_layer
struct layer * input_gate_layer RNN LSTM
struct layer * state_gate_layer RNN LSTM
struct layer * input_save_layer RNN LSTM
struct layer * state_save_layer RNN LSTM
struct layer * input_state_layer RNN LSTM
struct layer * state_state_layer RNN LSTM
struct layer * input_z_layer RNN LSTM
struct layer * state_z_layer RNN LSTM
struct layer * input_r_layer RNN LSTM
struct layer * state_r_layer RNN LSTM
struct layer * input_h_layer RNN LSTM
struct layer * state_h_layer RNN LSTM
tree * softmax_tree “界门纲目科属种”树,分词树,trie树
size_t workspace_size

然后 layer.c 中实现了释放“对象”(内存)的函数,此处不再赘述

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容