1、caffe的三大要素:Blobs,Layers,Nets.(caffe所有层的参数定义都在caffe.proto文件里)
补充:
在训练模型阶段除了对模型各层的定义之外(比如train.prototxt,test.prototxt,deploy.prototxt)还有solver.prototxt文件的编写,而这个solver文件具有很重要的作用:1、创建训练网络和测试网络;2、进行前向传播与误差反向传播,更新参数,优化网络;3、间歇地用验证集进行测试test网络;4、在优化过程中,可以选择进行快照,保存中间状态。
而solver具有六大类型:stochastic gradient descent(type:SGD)这是最常用的一种,其余有:AdaDelta,Adaptive Gradient,Adam,Nesterov's Accelerated Gradient,RMSprop.
2、Data(数据层)
链接:http://www.cnblogs.com/denny402/p/5070928.html
3、Vision(视觉层)
包括:卷积层,池化层,crop,反卷积层,Im2Col层,空间金字塔池层。
链接:http://www.cnblogs.com/denny402/p/5071126.html
4、Activiation/Neuron Layers(激活层)
包括十几种的激活函数:
Relu(Rectified Linear Units),pRelu,sigmoid,tanH,ELU,Absolute,power,EXP,log,BNLL,Threshold,Bias,Scale
链接:http://www.cnblogs.com/denny402/p/5072507.html
5、其他一些层,包括:softmax-loss,Inner product(全连接层),accuracy(测试阶段),reshape,dropout
链接:http://www.cnblogs.com/denny402/p/5072746.html
补充:Embed Layer(type:Embed)
6、Recurrent Layers(循环层)
包括:Recurrent(type:Recurrent),RNN(type:RNN),Long-short term memory(type:LSTM)
7、Normalization Layers(归一化层)
包括:LRN(Local Response Normalization--局部响应归一化,一般命名类型为norm,type:LRN),作用是通过在局部输入区域进行归一化来执行一种“横向抑制”。
mean variance Normalization(mvn),作用是执行对比度归一化和实例归一化。
Batch Normlization (批量归一化,type:BatchNorm),作用是执行小批量标准化。
8、还有一些其他不太常用到的类型层
比如:type为python,SmoothL1loss,ROIpooling
(其他一些补充以后见到陆续添加上)