仅做此记录,备查
(一)、软件包准备:
1.微软修改的caffe包,下载地址:https://github.com/Microsoft/caffe
2.Anaconda2,官网下载
----------------------------以下可选,CPU配置可以不管----------------------------------------------------
3.cuda8.0,https://developer.nvidia.com/cuda-downloads
https://developer.nvidia.com/cuda-toolkit-archive
4.cuDNN v4,https://developer.nvidia.com/cudnn
二安装
1.安装Visual Studio2013,默认位置,可汉化
2.Anaconda2,
3.可选,CUDA和cuDNN
4.解压caffe-master包
三具体配置
1.复制caffe Windows下CommonSettings.props.example,后缀改为CommonSettings.props
用VS2013打开CommonSettings.props,修改CpuOnlyBuild为true,UseCuDNN改为false。因为要配置Python接口,所以PythonSupport改为true,并将下面的PythonDir修改为自己的Python安装路径,注意Anconda2后面那个斜线不能少。
2.配置Anaconda2环境变量
环境变量中新建名为PythonPath,值为 D:\caffe-master\Build\x64\Release\pycaffe
在cmd中输入import caffe出现:
ImportError: No module named google.protobuf.internal
说明需要安装一些东西,那就输入下面三者之一,其中会有一个是适合你的。
conda install protobuf
pip install protobuf
esay_install protobuf
四、环境变量配置:
cuda8安装完成之后在系统环境变量中自动配置了两个系统变量
CUDA_PATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8
CUDA_PATH_V7_5:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8
但是为了之后的vs2013的配置做准备我们需要在配置五个系统变量
CUDA_BIN_PATH:%CUDA_PATH%\bin
CUDA_LIB_PATH:%CUDA_PATH%\lib\Win32
CUDA_SDK_BIN:%CUDA_SDK_PATH%\bin\Win64
CUDA_SDK_LIB:%CUDA_SDK_PATH%\common\lib\x64
CUDA_SDK_PATH:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8
在系统环境变量path后添加如下内容
;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
测试是否成功
进入cmd,输入nvcc -V命令
在进入sdk实例安装目录C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8(默认文件夹隐藏,需要显示出来)
点击Samples_vs2013.sln文件打开vs2013执行
这时候在来运行Samples_vs2013.sln文件就会出现图片,表明测试成功,
PATH
D:\caffe-cpu\Build\x64\Release
PYTHONPATH
D:\caffe-cpu\Build\x64\Release\pycaffe
系统变量
CUDA_BIN_PATH
%CUDA_PATH%\bin
CUDA_LIB_PATH
%CUDA_PATH%\lib\x64
CUDA_PATH
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
CUDA_SDK_BIN_PATH
%CUDA_SDK_PATH%\bin\x64
CUDA_SDK_LIB_PATH
%CUDA_SDK_PATH%\common\lib\x64
CUDA_SDK_PATH
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
CUDNN_ROOT
D:\caffe-gpu\cuda
CuDnnPath
D:\caffe-gpu\cuda
Path
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp;
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;
D:\caffe-cpu;
D:\Anaconda2;
D:\Anaconda2\Scripts;
D:\Anaconda2\include;
D:\Anaconda2\Lib;
D:\caffe-cpu\Build\x64\Release\pycaffe\caffe;
D:\Anaconda3;
D:\Anaconda3\include;
D:\Anaconda3\Lib;
%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
PythonPath
D:\caffe-cpu\Build\x64\Release\pycaffe
双击Windows下的caffe.sln,在VS2013中生成解决方案,先启用Nuget还原
libcaffe在编译前先设置资源引用路径,点击项目右键-》属性-》配置属性-》c/c++,【附加包含目录中】中加入python的include路径
caffe在编译前先设置资源引用路径,点击项目右键-》属性-》配置属性-》c/c++,【附加包含目录中】加入python的include路径。同时,在链接器中的【附加库目录】中加入python的libs路径。如果显卡安装不是默认路径也相应把C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include和libs加入到里面
pycaffe在编译前先设置资源引用路径,点击项目右键-》属性-》配置属性-》c/c++,【附加包含目录中】加入python的include路径和numpy的include路径,我这里分别是D:\Python27\include和D:\Python27\Lib\site-packages\numpy\core\include,同时,在链接器中的【附加库目录】中加入python的libs路径和numpy的libs路径,我这里分别是D:\Python27\libs和D:\Python27\Lib\site-packages\numpy\core\lib
注:如果这个编译时出现:
error LNK2001: 无法解析的外部符号 __imp_PyString_FromString
error LNK2001: 无法解析的外部符号 __imp_PyCallable_Check
说明python和visual studio项目版本不兼容,注意X86和X64的统一
在anaconda prompt窗口敲入以下命令:
conda upgrade –all
解释:可以将anaconda当前环境下的软件包都进行一个更新,保证后续安装都是最新的可用包。
conda install numpy scipy pandas
解释:conda一次可以安装多个软件包。上面这个指令就可以一次安装好numpy, scipy, pandas
conda create -n py3 python=3 或 conda create -n py2 python=2
解释:上面是分别建立python 3.5和python 2.7虚拟环境的指令。py3(py2)是自己起的环境名;python=3 (python=2)是指定python版本
activate py3
解释:这样就进入python 3.5的环境了
conda list
解释:查看当前环境下都已经安装了哪些包。如果需要安装新包,敲入指令 conda install <package name>就可以了
deactivate py3
解释:退出python3.5的环境
http://python.jobbole.com/86236/