- 前言
- 资料包下载地址:
- 环境配置
- caffe配置问题
- 1·安装vs2015版本
- 2·安装cmake
- 3·caffe-windows配置
- 4·使用vs2015编译工程
- 6·将编译后的caffe文件打包,作为python可调用的包
- 6·caffe.exe的位置
- 开始第一个工程测试一下能否运行
- 如何打包lmdb文件
caffe可以无代码训练神经网络,是一件利器。然而在windows上安装caffe堪称地狱式摧残。版本之间的差异,必须匹配,各种意想不到的编译错误,让人恼火。之所以安装在windows上纯属是因为电脑不想装linux双系统,来回切换太麻烦。
看了很多的安装caffe的教程,只能说坑!坑!坑!
要么是描述不够细节,一些 *** 作省略了,看见错误一大堆,解决半天;要么是没有资料包,下载半天发现版本不对,推倒重来,我特么的,我就问你这代码保熟吗?他要是不熟该怎么办啊!
百度云盘:
链接:https://pan.baidu.com/s/15KLlRc_87yND4Ymf5zaTkQ
提取码:1234
链接如果挂了留言补
不要慌,下面的资料包里的文件就是
vs2015
CMake3.17.3
caffe_windows
libraries_v140_x64_py35_1.1.0
python3.5版本,anaconda3-2.4.1
如果你的电脑还没有安装python,直接使用资料包里的文件anaconda3-2.4.1安装即可,安装之后就是python3.5版本
这一部分下面的的就不用看了,如果不是,继续看
如果你的电脑里已经安装了其他版本的python,比如我的电脑已经安装了python3.6,还需要安装python3.5版本来运行caffe
那么就创建一个虚拟环境,让3.5版本和3.6版本隔离就行了
虚拟环境可以让python不同版本隔离,可以随时切换版本,非常好用
*** 作如下
创建一个虚拟环境
conda create -n py35 python=3.5
输入命令后会自动创建一个python3.5的虚拟环境
中途会自动解决python3.5的文件配置问题,如果下载中断就重新运行命令,会自动接着上一次的下载
下载好以后可以查看当前存在的虚拟环境
conda info --env
可以看到我们命名为py35,版本为python3.5的虚拟环境已经搭建好了
进入创建的虚拟环境
activate py35
左边会提示这里是名字为py35的虚拟环境,输入python可以看到虚拟环境的python版本
想要退出虚拟环境使用
deactivate
然后左边py35的标志就消失了,使用base代替,代表我们回到了主目录 ,退出了虚拟环境
至此python的版本安装问题解决了,接下来解决caffe的cpu版本的配置问题
有些人可能已经安装了其他版本,但是不好意思,只能用vs2015,没有就安装一下
而且如果直接安装vs2015后期编译caffe的时候也会失败,有一些工具包需要在安装时选择
以下画框的必须选择
然后等待vs2015安装完成就行了
cmake-3.17.3-win64-x64.msi
不要无脑下一步下一步,安装过程中需要设置将他加入环境变量
看到有三个选项的时候,有一个add path选项,勾选,然后等待安装完成
安装后输入cmake,有如下输出就安装成功了
进入caffe-windowsscripts目录下,右键编辑bulid_win.cmd文件,使用记事本打开
找到图中的位置,按照框中的参数修改
需要注意的是python3.5的路径,根据实际情况填写
比如我的是
C:UsersAdministrator.DESKTOP-KMH7HN6Anaconda3envspy35
表示在python3.6版本的虚拟环境py35的目录下
文件下方else下还有需要修改的地方
修改完bulid_win.cmd文件后,再去编辑WindowsDownloadPrebuiltDependencies.cmake文件,依旧使用记事本打开
删除如下段落,58-79行,这里是下载caffe依赖包用的,不一定能下载成功,不用,资料包里有
将资料包里的libraries_v140_x64_py35_1.1.0.tar.bz2文件复制到C:UsersAdministrator.caffedependenciesdownload目录,代替下载的文件,路径不存在就创建
Administrator是我的电脑的路径名字,可能和你的有所不同,自己一看就知道是用户目录下
文件夹名字。caffe比较特别,创建文件时使用点caffe点的形式,创建后就是.caffe,后面的点会自动消失
然后开始执行bulild_win.cmd文件
注意,如果此时该目录下有build文件夹,删掉,那是上一次编译的遗留,不删编译不成功
如果没有,不用管
注意,使用cmd执行该目录下的bulild_win.cmd文件,这样如果出错,或者编译成功都会有提示,否则窗口一闪而过你是不知道出了什么情况的
如果报错驱动器错误,不用管,看到底下正常编译就行了,可以看到此时在解压libraries_v140_x64_py35_1.1.0.tar.bz2文件,等待其编译完成
编译完成后,用vs2015打开“Caffe.sln”,然后编译
vs2015选择在生成的build文件夹下生成的caffe.sln
使用release x64编译项目
等待编译完成
编译完成后,在caffe-windows/python目录下有caffe文件夹,将这个文件夹复制到Anaconda3/envs/py35/Lib/site-packages目录下。
复制过去就行了,只复制caffe文件夹
然后打开cmd命令窗口,进入虚拟环境py35,安装caffe依赖包,输入:
conda config --add channels conda-forge
conda config --add channels willyd
conda install --yes cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz
注意:如果发现conda安装的numpy运行报错,则将其卸载,使用pip安装。
下载完成后
此时使用pycahrm加载pyhon3.5的解释器,发现可以识别caffe
也可以使用命令行工具查看
进入此目录,运行发现可行
最好假如系统环境变量,这样以后调用会方便很多
好了,从现在起你已经是一个caffer了!
minist手写测试
资源包里数据已经提供了,直接是caffe支持的lmdb格式
当然,你也可以下载minist数据集,然后自己再打包成lmdb格式
这里为了简便,如何打包放在下面,先测试一下看看能不能跑起来
caffe.exe我已经添加进入系统变量了
如图,vs2015编译出来的release文件夹我放入了系统变量中,里面的exe文件可以直接调用
解压文件,放入caffe-windows的案例的minist中
里面都是预设的神经网络层脚本文件,我们就运行一下他们有没有效果
先修改lenet_solver.prototxt 文件,把GPU改成CPU
因为安装的就是cpu版本
训练命令如下
caffe.exe train --solver=.examplesmnistlenet_solver.prototxt
等待训练完成
训练完成后
测试命令如下:
caffe.exe test -model .examplesmnistlenet_train_test.prototxt -weights .examplesmnistlenet_iter_10000.caffemodel -iterations 100
其中.examplesmnistlenet_iter_10000.caffemodel需要根据你实际训练出来的模型填写
这是训练1万步得到的caffe模型
正确率已经很好了
第一步 下载mnist数据
下载地址http://yann.lecun.com/exdb/mnist/
下载后解压到caffe-masterdatamnist文件夹中
第二步 转换数据格式
前两个是测试数据集的图片和标签
后两个是训练集的图片和标签
编写bat文件,打包成lmdb格式
这里的文件路径取决于你解压的路径
convert_mnist_data.exe .datamnisttrain-images.idx3-ubyte .datamnisttrain-labels.idx1-ubyte .examplesmnistmnist_train_lmdb echo convert_mnist_data.exe .datamnistt10k-images.idx3-ubyte .datamnistt10k-labels.idx1-ubyte .examplesmnistmnist_test_lmdb pause
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)