CNN是层级网络,通常包括数据输入层(Input Layer)、卷积层(Convolutional Layer)、池化层(Pooling Layer)、全连接层(Full Connection Layer)等。
数据输入层
Caffe的配置文件
layer {
name: "data"
type: "ImageData"
top: "data"
top: "clc-label"
image_data_param {
source: "all_train.txt"
batch_size: 96
shuffle: true
}
transform_param {
mean_value: 104.008
mean_value: 116.669
mean_value: 122.675
crop_size: 48
mirror: true
}
include: {phase: TRAIN}
}
type表明它的输入类型是ImageData,原生的图像格式。其对应两个网络参数,分别是image_data_param和tranform_param。前者配置了三个属性:source为输入的训练文件路径,batch_size为训练的batch大小,shuffle为是否采用随机操作。transform_param也配置了三个属性:mean_value为RGB的均值,crop_size为输入训练图像的尺寸,mirror为一个数据增强操作,指水平的翻转,图像预处理参数。