windows10编译caffe的python接口
安装依赖包
Visual Studio 2013 或 Visual Studio 2015
选择Visual Studio 2015,caffe的windows安装只支持VS2013和VS2015
Anaconda3
选择Anaconda3.4.2版本,python版本为3.5。caffe的windows安装只支持python2.7和python3.5,不支持3.6版本(VS2013只支持python2.7的, VS2015支持python2.7 和 3.5)
详情见”\
\cmake\WindowsDownloadPrebuiltDependencies.cmake”中
1
2
3
4 > set(DEPENDENCIES_NAME_1800_27 libraries_v120_x64_py27_${DEPENDENCIES_VERSION})
> set(DEPENDENCIES_NAME_1900_27 libraries_v140_x64_py27_${DEPENDENCIES_VERSION})
> set(DEPENDENCIES_NAME_1900_35 libraries_v140_x64_py35_${DEPENDENCIES_VERSION})
>
CMake
选择CMake 3.11.3
安装cuda并添加环境变量
安装cudnn
解压cudnn-8.0-windows10-x64-v7.zip,将cuda下面的bin、include与lib三文件夹复制到CUDA对应的文件夹下:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。
安装protobuf
protobuf源代码(各种语言实现)
https://github.com/google/protobuf只需要python版和protoc(放到src文件夹下)
到Python目录,编译
1
2python setup.py build
python setup.py install将生成的google文件夹拷贝到anaconda安装路径的
.\lib\site-package
文件夹中
编译安装caffe
使用CMake-gui,设置source code路径为caffe的根目录,在caffe根目录下新建build文件夹为build路径
修改python版本
打开CMakeLists.txt,修改python_version为3(第50行)
1
set(python_version "3" CACHE STRING "Specify which Python version to use")
在CMake-gui中选择PYTHON_EXECUTABLE为Anaconda3下的python (3.5版本)
设置BLAS选项为Open
在CMake-gui中选择BLAS为Open,原始为Atlas,Configure时会报如下错误
Could NOT find Atlas (missing: Atlas_CLAPACK_INCLUDE_DIR Atlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY Atlas_LAPACK_LIBRARY)
点击Configure,Generate
完成后在build目录下用VS2015打开Caffe.sln,Build pycaffe项目即可
测试python接口
python接口有两种使用方式,一种是将caffe根目录下的python中的caffe文件夹拷贝到anaconda安装路径的.\lib\site-package
文件夹中,可以在python源文件中直接
1 | import caffe |
另一种方式,在代码中添加caffe的路径到系统路径,这样可以允许使用更多版本的caffe而不至于混乱
1 | # 添加所要使用的caffe的路径到系统路径 |
没有报错则完成编译
报错情况:
dll缺失: 注意切换Anaconda的版本,确认为python3.5
No module named google : 没有安装protobuf