文章目录
前言
你没看错,安装的是GPU版本caffe,如果你受够了CPU龟速神经网络训练速度,GPU带你解放
资料包下载地址:
百度云盘:
链接:https://pan.baidu.com/s/1BhST9AfNiIAqKIQR-MtYhA
提取码:1234
链接如果挂了留言补
不要慌,下面的资料包里的文件就是,没想到吧,安装gpu版caffe要这么多文件,是不是此时要感谢我都给你准备好了呢
vs2015
CMake3.17.3
caffe_windows
libraries_v140_x64_py35_1.1.0
python3.5版本,anaconda3-2.4.1
cuda8.0
cudnn6.0
环境配置
提前说一句,cuda是英伟达的,因此nvida的显卡可以用,其他的绕道,老实安装cpu版本吧
cpu版本安装教程
https://blog.csdn.net/lidashent/article/details/121507357
如果是英伟达的显卡,恭喜
如果你的电脑还没有安装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,有如下输出就安装成功了
安装cuda和cudnn
检查显卡是否支持cuda
CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。 通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
查看cuda中是否有自己电脑显卡的型号
查看自己的显卡型号
去官网查看是否支持cuda
http://developer.nvidia.com/cuda-gpus
检查显卡的cuda算力
非常必须的是检查显卡对于cuda的算力 ,不同版本的caffe-gpu版本对显卡的算力要求不同,如果显卡算力达不到版本期望的算力,他将不会使用你的GPU进行计算,也就是说安了也没用,它只是使用你的cpu计算
如下报错提示:
忽略具有计算能力3.0的可见gpu设备。所需的最小Cuda能力为3.5
因此应该下载和你的显卡算力相匹配的版本
算力查看
后面的小数就是cuda的计算能力
我的显卡型号是gt645m显卡,算力只有3.0
不得不使用cuda8.0+cuddn6.0,这种配置,再高的gpu版本,算力就要求3.5以上了
我资料包里都提供了
如果你的显卡很好,也可以使用此配置,因为只要算力超过3.0都能用,也不耽误你的gpu计算,而且也比较稳定
安装cuda8.0和cudnn6.0
为什么说这两个要一起安装?
因为他们是一体的,版本互相支持,但是被分成了两个文件,需要从官网分开下载,下错了一个都不能用,非常扯淡
点击他们的官网先注册一个账号,因为下载cudnn6.0的时候需要登录才能下载
或者先不注册,等下载的时候有弹窗,然后注册也行
从官网下载
cuda8.0
为了省事,网盘里已经提供了,这里只是说下载的方法,如果以后有需要可以更新其他的版本,或者使用最新的版本,看你的显卡了,当然你也需要重新编译,看你如何折腾了
正确的8.0版本下载地址: https://developer.nvidia.com/cuda-80-ga2-download-archive
根据自己的电脑系统类型和版本选择
后面的两个8.0本体包和补丁包都要下载,暂时不要安装,接下来下cudnn6.0
cudnn6.0下载地址
为了方便网盘里已经提供了,这里说的是下载的方法
界面非常具有迷惑性,进入界面需要注册账号,同时展示的还不是cudnn6.0的
https://developer.nvidia.com/rdp/cudnn-download
查看历史版本
注意到了吗?cuda和cudnn的版本都是相互对应的
然后安装cuda本体就行了,然后安装cuda补丁包
先安装cuda本体
然后再安装cuda的补丁,即同cuda8.0一起下载的第二个文件
然后解压cudnn6.0的压缩包,bin, include, lib,将文件夹下的内容全部复制到C:\ProgramData\NVIDIA GPU Computing Toolkit\v8.0这个文件夹下
此时去查看系统变量
CUDA_PATH和CUDA_PATH_V8.0已经存在,这是在安装cuda时自动创建的,路径是C:\ProgramData\NVIDIA GPU Computing Toolkit\v8.0
查看cuda是否安装成功
V要大写,不然不识别,真是人才啊,当初使用v看到错误迷惑了好久
查看cuda安装位置
查看cuda是否安装成功
跳转到cuda安装的路径
结尾都是pass就成功了
说的很明白了吧,很合理吧
3·caffe-windows配置
进入caffe-windows\scripts目录下,右键编辑bulid_win.cmd文件,使用记事本打开
找到图中的位置,按照框中的参数修改
需要注意的是python3.5的路径,根据实际情况填写
比如我的是
C:\Users\Administrator.DESKTOP-KMH7HN6\Anaconda3\envs\py35
表示在python3.6版本的虚拟环境py35的目录下
文件下方else下还有需要修改的地方
路径后面有个^帽子,不要漏了
修改完bulid_win.cmd文件后,再去编辑WindowsDownloadPrebuiltDependencies.cmake文件,依旧使用记事本打开
删除如下段落,58-79行,这里是下载caffe依赖包用的,不一定能下载成功,不用,资料包里有
将资料包里的libraries_v140_x64_py35_1.1.0.tar.bz2文件复制到C:\Users\Administrator\.caffe\dependencies\download目录,代替下载的文件,路径不存在就创建
Administrator.KMH啥的是我的电脑的路径名字,可能和你的有所不同,自己一看就知道是用户目录下
文件夹名字。caffe比较特别,创建文件时使用点caffe点的形式,创建后就是.caffe,后面的点会自动消失
然后开始执行bulild_win.cmd文件
注意,如果此时该目录下有build文件夹,删掉,那是上一次编译的遗留,不删编译不成功
如果没有,不用管
注意,使用cmd执行该目录下的bulild_win.cmd文件,这样如果出错,或者编译成功都会有提示,否则窗口一闪而过你是不知道出了什么情况的
如果报错驱动器错误,不用管,看到底下正常编译就行了,可以看到此时在解压libraries_v140_x64_py35_1.1.0.tar.bz2文件,等待其编译完成
编译完成后,用vs2015打开“Caffe.sln”,然后编译
有的人偷懒,已经编译过cpu版本的caffe了,想安装GPU版本的,就没有重新下载caffe-windows,而是使用的cpu版本的caffe的buid_cmd.bat文件,按照如上修改,那是不可行的,各种错误那是你意想不到的,因为已经编译过的caffe-windows里面更改的文件是你无法预料的,编译过程中各种错误,因此老实下载网盘里原版的caffe-windows再编译gpu版本的吧
说的就是我,耽误了我很长时间纠结是哪里的配置文件写错了,结果重新下载caffe-windows.zip配置一遍成功,真是******
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中
里面都是预设的神经网络层脚本文件,我们就运行一下他们有没有效果
安装的就是GPU版本,看一下这个文件的最后一行,GPU任性,就是速度快
训练命令如下
caffe.exe train --solver=.\examples\mnist\lenet_solver.prototxt
等待训练完成
训练完成后
测试命令如下:
caffe.exe test -model .\examples\mnist\lenet_train_test.prototxt -weights .\examples\mnist\lenet_iter_10000.caffemodel -iterations 100
其中.\examples\mnist\lenet_iter_10000.caffemodel需要根据你实际训练出来的模型填写
这是训练1万步得到的caffe模型
正确率已经很好了
如何打包lmdb文件
这里不说了,我会在另一篇文章中说如何将图片和标签文件打包成lmdb格式
同时实现人脸检测