cifar10数据库由60000张32*32 彩色图片 共10类
其中50000张训练
10000张测试
下载cifar10数据库:http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
这是binary格式的,所以我们要把它转换成leveldb格式。
在../caffe-windows/examples/cifar10文件夹中有一个 convert_cifar_data.cpp
将他include到MainCaller.cpp中。如下:
然后重新编译,一次通过。这里会在bin文件夹下产生一个MainCaller.exe,这里把它改名为convert_cifar_data.exe即可。
可以在bin文件夹下新建一个input文件夹。将第一步下载的文件解压到input文件夹中,这样转换时就不用写路径了。如下图所示
cmd进入bin文件夹
执行后,在output文件夹下有cifar_train_leveldb和cifar_test_leveldb两个文件夹。里面是转化好的leveldb格式数据。
当然,也可以写一个bat文件处理,方便以后再次使用。(我是初学者,我也不会。原谅我。。。)
如下:在MainCaller中重新编译编译../../tools/comput_image_mean.cpp
编译成功后。在这里会出现MainCaller.exe,这里把它修改为ompute_image_mean.exe
接下来就可以求图像mean了。
cmd进入bin。
遇到这个问题,怎么办?
在网上搜索,可以找到 Cynric的博客 有这么一段话:
然后重新编译,就可以解决了。
在.../examples/cifar10文件夹里已经有网络的配置文件,我们只需要将cifar_train_leveldb和cifar_test_leveldb两个文件夹还有mean.binaryproto文件拷到cifar10文件夹下。
修改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,内容如下:
copy ..\\..\\bin\\MainCaller.exe ..\\..\\bin\\train_net.exe SET GLOG_logtostderr=1 "../../bin/train_net.exe" cifar10_quick_solver.prototxt pause先编译一遍 train_net.cpp
运行train_quick.bat