本文主要是介绍Caffe for Windows 训练cifar10 VS2013,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章参考:http://blog.csdn.net/u012878523/article/details/41308333
本文框架以参考文章确定,内容略有不同
1、cifar10数据库 http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
数据库解压出的数据是binary格式的,解压出来包括六个.bin文件和一个.txt文件。
参考文章指出,将../caffe-windows/examples/cifar10文件夹中的 convert_cifar_data.cpp文件include到MainCaller.cpp中,但由于Caffe版本不同,我的工程中并没有MainCaller.cpp文件,如图:
经尝试,解决办法为: 找到convert_imageset项目所在文件夹,复制整个项目到同一路径下,将复制出的文件夹重命名为convert_cifar_data,仅保留文件夹中的convert_imageset.filters、convert_imageset.suo、convert_imageset.vcxproj文件,其余删除,并将这三个文件重命名为convert_cifar_data。此时将convert_cifar_data项目添加到工程下,此时加载项目名依然为convert_imageset,需将项目名重命名为convert_cifar_data,然后编译此项目,成功后可在bin文件夹中得到convert_cifar_data.exe文件。
2、接下来进行数据格式转换,按参考文章做法,在bin文件夹中新建input和output文件夹,将下载的binary格式数据解压到input文件夹中,转换为lmdb格式(此处数据格式转为leveldb还是lmdb取决于cifar10_quick_train_test.prototxt文件中的backend后面是leveldb还是lmdb,即转换后的数据格式要与此处保持一致才能进行训练),做法为:
执行后,在output文件夹中会生成cifar_train_lmdb和cifar_test_lmdb两个文件夹,里面是转化好的lmdb文件。
3、接下来求数据图像平均值,首先编译compute_image_mean,编译完成后会在bin文件夹中看到compute_image_mean.exe文件
cmd进入bin
操作之后在bin文件夹下会生成一个mean.binaryproto文件,这就是所需的均值文件。
4、按照参考文章,将cifar_train_lmdb和cifar_test_lmdb两个文件夹以及mean.binaryproto文件拷贝到cifar10文件夹下,检查cifar10_quick_train_test.prototxt文件中的训练和测试下的 mean_file和source是否正确
5、cmd进入bin文件夹所在目录,执行:.\bin\caffe.exe train --solver=examples/cifar10/cifar10_quick_train_test.prototxt
运行结果:
这篇关于Caffe for Windows 训练cifar10 VS2013的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!