数据层是需要第一层用来给模型提供数据的层
layer{
name:“DATA”#这一层的名字命名为_DATA_层
type:“Data”#表明这一层的属性是数据
top:“data” #bottom 表示输入,top表示输出,在数据层中并没有输入层,只有输出层,输出层为x和y,即一
个是输入的数据,另外一个是我们所给定的这个数据的标签
top:“label”
include {
phase:Train #训练阶段可以分为一个是训练的时候的数据输入,另外一个是自测试阶段,在这里我们只需要在训练阶段使用数据层
}
trainsform_param{
mean_file: “mean.binaryproto” #用一个均值文件来对数据进行处理,首先计算出相对应的所有数据的均值,然后如对RGB上的数值进行ave-R(value)的操作
trainsform_param{
scale:0.00390625 #进行归一化操作所需要的数值。归一化如图像中将数值为0~255的值更改为0 ~ 1之间的数值,这个数值的计算方式为1/255
mirror:1 #进行数值的增强,可以将数据数值增加,可以获得更多数据,0表示关闭,1表示开启
crop_size:227 #在数据中,如一个256*256的图像,那么在数据中对这个图像随机筛选227x227的图像,用以增强数据
}
}
data_param{
source:mnist_train_lmdb #表示说采用lmdb格式的数据库进行处理,避免gpu和cpu处理之间的差异性,数据库读入时采用cpu进行读取,采用gpu进行卷积层,池化层等的运算
batch_size:64 #根据电脑的显存来具体的进行调配,显存较大可以一次读入128个数据,如果显存较少,则采用64,一次读入数据的个数越多越好,但是也要根据自己的电脑所具备的能力来决定
backend:LMDB #数据的选用有hdf5和lmdb两种数据可以选用,在这里采用caffe所支持的lmdb格式
}
}
在这里也可以采用另外一种读入数据的方式,新建一个txt文件并且在里面写上数据图片的路径和标签
如
#/path/1.jpg 1
#/path/2.jpg 2
那么此时可以这样写:
layer{
name:“DATA”#这一层的名字命名为_DATA_层
type:“ImageData”#表明这一层的属性是图片数据
top:“data”
top:“label”
include {
phase:Train
}
trainsform_param{
mean_file: “mean.binaryproto”
trainsform_param{
scale:0.00390625 #进行归一化操作所需要的数值。归一化如图像中将数值为0~255的值更改为0 ~ 1之间的数值,这个数值的计算方式为1/255
mirror:false #进行数值的增强,可以将数据数值增加,可以获得更多数据,0表示关闭,1表示开启
crop_size:227 #在数据中,如一个256*256的图像,那么在数据中对这个图像随机筛选227x227的图像,用以增强数据
}
}
Image_data_param:{
source:"/path/source.txt"
batch_size:64
new_weight:256#在进行这一步之前需要对图像进行resize操作
new_height:256
}
}
褔工RC实验室
522

被折叠的 条评论
为什么被折叠?



