运行的是自带的cifar10程序。
1.首先下载数据集,总共6个文件,5个train文件,1个test文件。
一、将数据转为leveldb文件。
2.在Debug或者Release下(取决于上面编译的时候采取的是debug还是release)新建文件夹,取名input_folder.
3.然后在Debug目录下新建一个bat文件,例如convert.bat。写入如下代码:
convert_cifar_data.exe input_folder output_folder leveldb
pause
然后运行,就会在Debug目录下生成一个output_folder文件夹。对应两个文件夹cifar10_test_leveldb和cifar10_train_leveldb。每个文件夹中有5个文件。
注意,如果重新运行会报错,要把已生成的output_folder文件夹删除。
二、计算均值文件
4.在Debug目录下新建。bat文件。如mean.bat文件。写入如下代码:
compute_image_mean.exe output_folder/cifar10_train_leveldb mean.binaryproto
pause
run.会报错。mdb_status==0.主要因为在compute_image_mean.cpp源文件中第21行默认的为lmdb。更改为leveldb,再重新编译一次,生成新的compute_image_mean.exe运行文件即可。生成一个mean.binaryproto文件。
三、训练数据集
5.首先在examples/cifar10/文件夹下面找到cifar10_quick_trian_test.prototxt。
修改mean_file和source文件路径。可以使用在caffe-master下的相对路径,也可以使用绝对路径。
注意都是leveldb文件。因此backend设置为LEVELDB。
在caffe-master根目录下新建一个.bat文件。写入如下代码:
.\Build\x64\Debug\caffe.exe train --solver=examples/cifar10/cifar10_quick_solver.prototxt
pause
注:此时我们用的CPU跑的,因此修改cifar10_quick_solver.prototxt中的solver_mode为CPU。
双击此bat文件。在DOS窗口中会显示训练过程。我未更改solver里面的文件,迭代了4000次。用的CPU,比较慢。最终的训练精度为0.7
在examples/cifar10/文件夹中,生成了cifar10_quick_iter_4000.caffemodel文件。
下一步打算继续试运行mnist手写数据。以熟悉运行过程。