文章目录

前言资料包下载地址:环境配置caffe配置问题1·安装vs2015版本2·安装cmake

安装cuda和cudnn检查显卡是否支持cuda查看自己的显卡型号去官网查看是否支持cuda检查显卡的cuda算力安装cuda8.0和cudnn6.03·caffe-windows配置4·使用vs2015编译工程6·将编译后的caffe文件打包,作为python可调用的包6·caffe.exe的位置

开始第一个工程测试一下能否运行如何打包lmdb文件

前言

你没看错,安装的是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格式 同时实现人脸检测