1 cifar10数据库
60000张32*32 彩色图片 共10类
50000张训练
10000张测试
下载cifar10数据库
这是binary格式的,所以我们要把它转换成leveldb格式。
2 在../caffe-windows/examples/cifar10文件夹中有一个 convert_cifar_data.cpp
将他include到MainCaller.cpp中。如下:
编译....我是一次就通过了 ,在bin文件夹里出现convert_cifar_data.exe。然后 就可以进行格式转换。binary→leveldb
可以在bin文件夹下新建一个input文件夹。将cifar10.binary文件放在input文件夹中,这样转换时就不用写路径了。
cmd进入bin文件夹
执行后,在output文件夹下有cifar_train_leveldb和cifar_test_leveldb两个文件夹。里面是转化好的leveldb格式数据。
当然,也可以写一个bat文件处理,方便以后再次使用。
3 下面我们要求数据图像的均值
编译../../tools/comput_image_mean.cpp
编译成功后。接下来求mean
cmd进入bin。
执行后,在bin文件夹下出现一个mean.binaryproto文件,这就是所需的均值文件。
4 训练cifar网络
在.../examples/cifar10文件夹里已经有网络的配置文件,我们只需要将cifar_train_leveldb和cifar_test_leveldb两个文件夹还有mean.binaryproto文件拷到cifar0文件夹下。
修改cifar10_quick_train.prototxt中的source: "cifar-train-leveldb" mean_file: "mean.binaryproto" 和cifar10_quick_test.prototxt中的source: "cifar-test-leveldb"
mean_file: "mean.binaryproto"就可以了,
后面再训练就类似于MNIST的训练。写一个train_quick.bat,内容如下:
[plain] view plaincopy
copy ..\\..\\bin\\MainCaller.exe ..\\..\\bin\\train_net.exe
SET GLOG_logtostderr=1
"../../bin/train_net.exe" cifar10_quick_solver.prototxt
pause