文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
1. Caffe中的layer
在Caffe中,神经网络Net是由一层层的神经网络层layer组合构建出来的,神经网络结构位于主要是在.prototxt
文件中。Caffe中的layer分为Data Layers、Vision Layers、Recurrent Layers、Common Layers、Normalization Layers、Activation/Neuron Layers、Utility Layers、Loss Layers等。下面对这些layer进行一一的介绍。
2. Data Layer
Data Layer是数据层,主要用来向神经网络中输入训练数据的,它支持的输入数据类型有:
Image Data
读取原始图像数据Database
从LEVELDB或LMDB中读取数据HDF5 Input
读取HDF5数据,数据可以是任意维度的HDF5 Output
输出HDF5数据Input
通常在部署神经网络时使用Window Data - read window data file.
存在硬盘上的图片,需要在一个txt里指定用于训练图片以及bounding box。Memory Data
直接从内存中读取数据Dummy Data
静态数据和调试
Data Layer的定义如下:
1 | layer { |
name:用来定义layer的名字,没有限制。
type:layer的类型,具体类型可参考http://caffe.berkeleyvision.org/tutorial/layers.html。
top:layer的输出数据,由于是分类问题,因此有两个top,数据和标签。
bottom:layer的输入数据。
source:表示训练数据或测试数据的地址,必须有。
batch_size:一次训练或测试多少幅数据,必须有。
bakcend:可选,默认为LEVELDB。
include:表明该层属于训练阶段还是测试阶段,如果不指定,表示两个阶段都包括。