Caffe for Windows 训练cifar10 VS2013

来源:互联网 发布:历史大事年表知乎 编辑:程序博客网 时间:2024/05/21 06:34

文章参考: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

运行结果:






0 0
原创粉丝点击