caffe windows上有教程,但是有几点没有详细说明。
1. 安装cuda, cudnn和vc编译器
下载cuda和cudnn
安装vc编译器后,在cmakelist.txt中设置使用vc编译器而不是gcc:
set(CMAKE_C_COMPILER "D:/Microsoft Visual Studio 12.0/VC/bin/cl.exe")
set(CMAKE_CXX_COMPILER "D:/Microsoft Visual Studio 12.0/VC/bin/cl.exe")
2. 安装boost
在boost官网上下载exe安装文件。解压安装完成后需要添加3个环境变量:
BOOST_ROOT=path\to\boost
BOOST_INCLUDEDIR=path\to\boost
BOOST_LIBRARYDIR=path\to\boost\lib64-msvc-14.2
3. 安装cmake
在cmake官网上下载cmake并安装。注意将cmake添加到环境变量。
注意:boost和cmake版本必须要匹配,否则在用cmake编译时会提示找不到boost: Could not find the following Boost libraries: boost_system。此处我使用的版本是: cmake-3.17.0
, boost-boost_1_72_0
4. 关闭ninja
官方文档中建议用Ninja来加快速度,但是我系统安装ninja后报错,因此在scripts\build_win.cmd
设置WITH_NINJA=0
。如果提示找不到python或者python版本不对(只支持python2.7
和python3.5
),可以在scripts\build_win.cmd
中加上一行:
-DPYTHON_EXECUTABLE:FILEPATH=D:\Python27\python.exe ^
设置python
位置:
cmake -G"!CMAKE_GENERATOR!" ^
-DBLAS=Open ^
-DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^
-DBUILD_SHARED_LIBS:BOOL=%CMAKE_BUILD_SHARED_LIBS% ^
-DBUILD_python:BOOL=%BUILD_PYTHON% ^
-DBUILD_python_layer:BOOL=%BUILD_PYTHON_LAYER% ^
-DBUILD_matlab:BOOL=%BUILD_MATLAB% ^
-DCPU_ONLY:BOOL=%CPU_ONLY% ^
-DCOPY_PREREQUISITES:BOOL=1 ^
-DINSTALL_PREREQUISITES:BOOL=1 ^
-DUSE_NCCL:BOOL=!USE_NCCL! ^
-DCUDA_ARCH_NAME:STRING=%CUDA_ARCH_NAME% ^
-DPYTHON_EXECUTABLE:FILEPATH=D:\Python27\python.exe ^
"%~dp0\.."
python版本不对会报错:Could not find url for MSVC version = 1800 and Python version = 3.7.
5. 添加环境变量
将python\to\caffe\build\tools\Release
添加到path
环境变量。将python\to\caffe\python
添加到PYTHONPATH
环境变量。
编译中的其他环境可以在build_win.cmd
中修改。
6. 安装graphviz
下载graphviz并安装,然后将path\to\graphviz/bin
添加到环境变量。最后运行如下命令来注册插件:
dot -c
这样就可以生成prototxt
的网络图了。或者在github中输入网络图查看。