sophia_hxw

人生有三恨,一恨鲫鱼有刺,二恨海棠无香,三恨红楼未完!----------张爱玲
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

win10+vs2013+cuda8.0+caffe

Posted on 2017-01-05 22:56  sophia_hxw  阅读(1750)  评论(0编辑  收藏  举报

1,首先说下环境和配置

配置:

环境:windows10,vs2013 community,cuda8.0,caffe,cudnn4
注意:先要安装好显卡驱动(我的显卡是1070),这里的例子只开通了matlab接口,需要用python可以安装anacoda并打开python接口。

2,准备文件

例子中用的文件:链接:http://pan.baidu.com/s/1hsBNI3i 密码:cynd
注意一:处理cudnn有两种方式,其一是在vs的属性文件中给出目录;另一是将cudnn的文件放到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0的相应目录中;这里我用的是第二种方式。
注意二:解压出来的caffe-master应该有两层目录名字都是caffe-master,第一次编译的时候我直接去掉了一层,(因为我的小小强迫症),但是发现其实程序会在第一层caffe-master的下面新建一个NugetPackages文件夹来放置第三方库,所以实际上这里不要去掉其中一层caffe-master目录。
注意三:先编译libcaffe,再编译caffe,最后需要什么工程就编译哪个,编译过程中的错误会之后找个时间写一篇专门的博客。

3,测试mnist

需要下载的四个训练和测试数据已经在前面的分享文件夹中,下载即可;
转化数据格式到lmdb,用的是python代码,注意代码应该放在Build同目录下:

import os
import shutil
EXAMPLE='examples\mnist'
DATA='data\mnist'
BUILD='Build\x64\Release'
BACKEND='lmdb'
print "Createing "+BACKEND+"..."
path1=EXAMPLE+"\mnist_train_"+BACKEND
path2=EXAMPLE+"\mnist_test_"+BACKEND
if os.path.exists(path1):
shutil.rmtree(path1)
if os.path.exists(path2):
shutil.rmtree(path2)
s1=BUILD+"\convert_mnist_data.exe"
s2=DATA+"\train-images.idx3-ubyte"
s3=DATA+"\train-labels.idx1-ubyte"
s4=EXAMPLE+"\mnist_train_"+BACKEND
s5="--backend="+BACKEND
cmd=s1+" "+s2+" "+s3+" "+s4+" "+s5
print cmd
os.system(cmd)
t1=BUILD+"\convert_mnist_data.exe"
t2=DATA+"\t10k-images.idx3-ubyte"
t3=DATA+"\t10k-labels.idx1-ubyte"
t4=EXAMPLE+"\mnist_test_"+BACKEND
t5="--backend="+BACKEND
cmd=t1+" "+t2+" "+t3+" "+t4+" "+t5
print "cmd2="+cmd
os.system(cmd)

执行该代码后,会在examples\mnist下面出现两个文件夹,mnist_test_lmdb和mnist_train_lmdb;
写批处理文件来运行测试mnist:
Build\x64\Release\caffe.exe train --solver=examples\mnist\lenet_solver.prototxt
Pause
运行过程截图:

上图就能看到测试程序的结果,正确率等参数。祝成功,有问题留言!