Caffe for Windows 训练cifar10 VS2013
2016-03-10 22:35
447 查看
文章参考: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文件,如图:
![](https://img-blog.csdn.net/20160310202612293?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
经尝试,解决办法为: 找到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,即转换后的数据格式要与此处保持一致才能进行训练),做法为:
![](https://img-blog.csdn.net/20160310212537238?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
执行后,在output文件夹中会生成cifar_train_lmdb和cifar_test_lmdb两个文件夹,里面是转化好的lmdb文件。
3、接下来求数据图像平均值,首先编译compute_image_mean,编译完成后会在bin文件夹中看到compute_image_mean.exe文件
cmd进入bin
![](https://img-blog.csdn.net/20160310212900639?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
操作之后在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
运行结果:
![](https://img-blog.csdn.net/20160310214418017?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160310214547707?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
本文框架以参考文章确定,内容略有不同
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
运行结果:
相关文章推荐
- 用Python从零实现贝叶斯分类器的机器学习的教程
- My Machine Learning
- 机器学习---学习首页 3ff0
- 反向传播(Backpropagation)算法的数学原理
- 也谈 机器学习到底有没有用 ?
- Some Notes of Caffe Installation
- Some Notes of Python Interfaces Pycaffe (Caffe)
- 如何用70行代码实现深度神经网络算法
- 量子计算机编程原理简介 和 机器学习
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 已经证实提高机器学习模型准确率的八大方法
- 初识机器学习算法有哪些?
- 机器学习相关的库和工具
- 10个关于人工智能和机器学习的有趣开源项目
- 机器学习实践中应避免的7种常见错误
- 机器学习书单
- 北美常用的机器学习/自然语言处理/语音处理经典书籍
- 如何提升COBOL系统代码分析效率
- Win8.1下FreeImage.lib库的配置和简单使用
- 自动编程体系设想(一)