文章目录
1. 本机配置
win7 + vs2013 + GPU
cuda9.0
但我看好多博客都是用的 cuda7.5,因此我将 cuda9.1 卸载了,重装 cuda7.5。(后来试了一下,发现 cuda9.1 也可以编译)
2. cuda 7.5 cuDNNv4 下载与配置
2.1 cuda下载
cuda 下载地址:https://developer.nvidia.com/cuda-toolkit-archive
2.2 cudnn下载
cudnn 下载地址:https://developer.nvidia.com/rdp/cudnn-archive
安装 cuda
解压 cudnn
将对应的bin、lib、include与CUDA7.5对应的bin、lib、include进行合并
cuda7.5的路径如下:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
3. 下载caffe源码以及依赖库
下载地址:https://github.com/happynear/caffe-windows
解压
4. 编译
4.1 修改文件配置
复制windows文件夹中的CommonSettings.props.example并改名字为CommonSettings.props,打开文件修改配置:
这里不能在后面加注释,给自己挖坑
4.2 Nuget包管理
将NugetPackages压缩包下载好之后,解压到与caffe-master同一层文件夹中。
打开 vs2013
选择【工具】》【Nuget程序包管理器】》【程序包管理器设置】》【程序包源】》【加号+】》修改Package source的指定路径(NugetPackages的路径)》更新。 OK!
4.3 编译
编译顺序为libcaffe、caffe等, 编译环境:x64 + Release。
打开 caffe-master/caffe-master/windows 文件夹, 运行 Caffe.sln 文件
如图:
编译 libcaffe
选择 libcaffe,单击右键,选择属性,做如下设置
将 libcaffe 设置为启动项目,然后生成,等待
编译成功后,会在 caffe-master 文件夹下生成一个 build 文件夹,待会所编译的结果都会在这个文件夹中
编译 libcaffe 时遇到的错误:在第一步修改配置文件时,习惯性的加上注释,结果给自己挖坑了,,//不是任何时候都是注释啊,导致出现如下问题
编译 caffe 时遇到的错误:无法加载 python27.lib
原因是在前面的 .props 配置文件中,所给python 的目录对应的版本不是 2.7,因此重新下载 python2.7,并修改配置文件中的 python 路径,如图
编译成功
编译 pycaffe 遇到的错误:
因为电脑里之前用 anaconda 安装的 python3,但 caffe 需要 python2.7,所以我单独下载了 2.7,但在编译 pycaffe 时又出问题了,因为是单的下载的,所以很多包都没有,比如 numpy,于是我准备再次利用 anaconda 安装 python2.7
anaconda 网址如下:https://www.anaconda.com/download/
安装过程
安装成功,重新修改配置文件
再次编译 pycaffe
编译完成
5. pycaffe 接口配置
将刚刚编译好的 pycaffe 目录下的 caffe 文件夹放到 python 的 Lib/site-packages 目录下
或者在 Lib/site-packages 目录下 新建一个 .pth 文件,里面写上你编译好的 caffe 包的位置,如图
打开 cmd,输入 python27
再输入 import caffe
报错 no module named google.prptobuf.internal
网上有教程说直接在 cmd 中输入 pip install protobuf,但还是不行
后来看网上有人说可能是 pip 版本太低的问题,于是升级 pip
再次执行 pip install protobuf
安装成功
6. 在 pycharm 中导入 caffe
经过以上步骤,可以看到已经可以在终端导入 caffe 了,但在 pycharm 中导入 caffe 总是失败,吐血,折磨我好久啊
最后可算是解决了,原来是编译环境出了问题
设置虚拟环境会导致 import caffe 失败,如图
运行结果
选择系统编译器之后 import caffe 成功
运行成功