机器学习—windows安装cpu版caffe(资料已经全部打包,无需额外下载,必成功)-10

机器学习—windows安装cpu版caffe(资料已经全部打包,无需额外下载,必成功)-10,第1张

机器学习—windows安装cpu版caffe(资料已经全部打包,无需额外下载,必成功)-10

文章目录
    • 前言
    • 资料包下载地址:
    • 环境配置
    • 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版本的配置问题

caffe配置问题 1·安装vs2015版本

有些人可能已经安装了其他版本,但是不好意思,只能用vs2015,没有就安装一下
而且如果直接安装vs2015后期编译caffe的时候也会失败,有一些工具包需要在安装时选择
以下画框的必须选择

然后等待vs2015安装完成就行了

2·安装cmake

cmake-3.17.3-win64-x64.msi
不要无脑下一步下一步,安装过程中需要设置将他加入环境变量
看到有三个选项的时候,有一个add path选项,勾选,然后等待安装完成
安装后输入cmake,有如下输出就安装成功了

3·caffe-windows配置

进入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”,然后编译

4·使用vs2015编译工程

vs2015选择在生成的build文件夹下生成的caffe.sln

使用release x64编译项目

等待编译完成

6·将编译后的caffe文件打包,作为python可调用的包

编译完成后,在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


也可以使用命令行工具查看

6·caffe.exe的位置


进入此目录,运行发现可行
最好假如系统环境变量,这样以后调用会方便很多

好了,从现在起你已经是一个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模型

正确率已经很好了

如何打包lmdb文件

第一步 下载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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5593154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存