caffe 在 windows 使用

以前打开windows版本的caffe,是有一个.sln 文件,通过 vs2013 加载后可以直接执行编译过程,这次遇到一些坑,最终还是编译好,并且把 mnist 的例程再次在windows 平台跑通了,应该说,如果不是想用 VS 管理工程写C++ ,用windows真的是蛋疼。‘’‘’

主要步骤如下:

1、下载安装好 Anaconda2、Git、cmake( > 3.4 )、将python.exe,conda.exe,git,等在readme.md 提到的命令所在路径添加到path 路径,还要安装一些依赖,也在readme.md 里面找到要安装什么。

2、在github中搜索caffe,将分支由 master 改为 windows,下载 仓库到 桌面,可以看到Scripts 文件夹中有个 build_win.cmd 文件,打开这个文件,按照箭头指示更改6处,我选择了CPU模式,用VS2013编译,实际上,我下载了编译好的 VS2013 release 版本,我编译不对但是又需要的文件,就会在这里面找,是可以用的。

 

3、接下来,执行了build_win.cmd 后,会在 scripts 中生成build 文件夹,里面就有 Caffe.sln 文件,打开它就可以执行 生成 命令。如果执行build_win.cmd 命令有错误,在更改了错误以后,记得删除 Cmakecach.txt 及 build 文件夹,然后再重新执行。

4、 caffe.sln 工程生成命令执行以后,将 生成的.dll 文件,拷贝到 windows/system32,或者 windows/system64,或者是 windows 目录下(这个目录具体是什么我忘了,以前装 opencv 拷贝过哈)

5、我还下载了 happpyyear 的 caffe-windows-ms.zip,使用这个版本的话,还需要去网上下载 thirdparty 文件夹,应该是它的第三方依赖库,然后编译,先编译 libcaffe,将“将警告视为错误”这个属性改为“否”。就可以用了。

 

第二部分  mnist 在windows 下使用。

1、下载 mnist 数据集,然后解压在桌面的 mnist 文件夹内。

2、 利用生成的

convert_mnist_data-d.exe 程序,将 utype 文件 及其 对应标签 转化为 lmdb 格式文件,找不到convert_mnist_data.d.exe 这个程序,就去 下载好的 debug 版本中找。
C:\Users\hanxinle\Desktop\caffe-windows\scripts\build\examples\mnist\Debug\convert_mnist_data-d.exe C:\Users\hanxinle\Desktop\mnist\t10k-images.idx3-ubyte C:\Users\hanxinle\Desktop\mnist\t10k-labels.idx1-ubyte C:\Users\hanxinle\Desktop\mnist\minist_lmdb 
pause

  

C:\Users\hanxinle\Desktop\caffe-windows\scripts\build\examples\mnist\Debug\convert_mnist_data-d.exe C:\Users\hanxinle\Desktop\mnist\train-images.idx3-ubyte C:\Users\hanxinle\Desktop\mnist\train-labels.idx1-ubyte C:\Users\hanxinle\Desktop\mnist\minist_train_lmdb 
pause

  

 3、将训练集和测试集都转换完毕后,找到 lenet_train_test.prototxt,这个文件的内容是 lenet 的网络架构信息,添加训练文件集合测试文件集所在的路径。

4、 找到 lenet_solver.prototxt 文件,这个文件又叫做超参数文件,它描述的是网络训练的相关参数。我在这里一共修改了两处,一处是 添加 网络的描述信息 完整路径,另一处是 CPU 模式,如下图。

5、接下来就可以执行训练命令了,caffe.exe 我开始并没有找到,直接从下载好的文件夹拷贝过来,照样使用。注意:刚刚所有的修改要注意一点,将 \ 改为 / ,在路径中如果不修改,会出现很多莫名其妙的问题,其次,文件夹命名不要有空格,可以带下划线取代空格。

C:\Users\hanxinle\Desktop\caffe-windows\scripts\build\caffe\caffe.exe train -solver=C:/Users/hanxinle/Desktop/caffe-windows/examples/mnist/lenet_solver.prototxt 
pause

 

6、生成均值产生器,用于识别手写识别。

C:\Users\hanxinle\Desktop\caffe_vs2013_cpu\bin\compute_image_mean.exe C:/Users/hanxinle/Desktop/mnist/minist_train_lmdb C:\Users\hanxinle\Desktop\mnist\mean.binaryproto
pause 

7、制作 待识别的图片,28x28的灰度图片,制作labels.txt文件,9行1列,从0-9,然后执行识别命令

C:\Users\hanxinle\Desktop\caffe_vs2013_cpu\bin\classification.exe C:\Users\hanxinle\Desktop\caffe-windows\examples\mnist\lenet.prototxt C:\Users\hanxinle\Desktop\bat\lenet_iter_10000.caffemodel C:\Users\hanxinle\Desktop\mnist\mean.binaryproto C:\Users\hanxinle\Desktop\mnist\labels.txt C:\Users\hanxinle\Desktop\test\77.jpg
pause

8、 制作 28x28图片,需要借助 matlab 和 画图来完成,方法如下:

画图得到 28x28 jpg 文件,

在MATLAB中,执行 A = imread('1.jpg');

                                 A  = 255 - rgb2gray(A);

                                imwrite(A,'11.jpg');

具体可以翻看下以前的教程文件。

 

转载于:https://www.cnblogs.com/hanxinle/p/8992777.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值