以最简单的mnist网络为例,因为数据集的不同则需要更改的参数也不同。在训练前最好在example下新建个文件夹命名为数据集的名称,然后把mnist下的5个文件:
lenet.prototxt
lenet_solver.prototxt
lenet_train.prototxt
lenet_test.prototxt
train_lenet.sh
复制到新文件夹下,以上5个文件为必需的文件。按顺序对以上文件进行修改,在忽略网络结构的情况下,需要修改的有:
a. lenet.prototxt:
分别为一次导入的图片个数,channel,heigth ,width。
倒数第二层,即输入给softmax层数据的那层,其中的num_output需要更改为实际图片的label数,即图片类别数。否则在进行训练时,会出现错误。
b. lenet_solver.prototxt:
如果之前文件名没改的话则不需要更改以上两项,否则改为对应文件。其他参数根据实际需要更改。
c. lenet_train.prototxt:
需要把data层的数据源文件替换为自己的数据。
在训练多通道图片时,此处最好需要有一个meanfile参数。例如cifar10
num_output参数参照lenet.prototxt修改。
d. lenet_test.prototxt:
参照lenet_train.prototxt 进行相应修改。
e. train_lenet.sh:
lenet_solver.prototxt文件名未更改的话则不需要进行改动。