1. 程式人生 > >Windows下VS2015編譯caffe

Windows下VS2015編譯caffe

目前我所見的Windows下編譯caffe都是用VS2013。但既然現在BVLC的windows版本的caffe可以支援VS2015編譯,那麼就不勉強自己再去下個VS2013來特地編譯caffe。

現在就開始講如何在VS2015編譯caffe的具體過程。

先連結官方的github:https://github.com/BVLC/caffe/tree/windows

一:準備工作

文件是這麼說:

Requirements
Visual Studio 2013 or 2015
CMake 3.4 or higher (Visual Studio and Ninja generators are supported)
Python 2.7 Anaconda x64 (or Miniconda).
CUDA 7.5 or 8.0 (optional) (use CUDA 8 if using Visual Studio 2015)
cuDNN v5 (optional)

We assume that cmake.exe and python.exe are on your PATH.

我的配置是VS2015+CMake3.7.1+Python2.7(x64,一定要64位,32位Python在build的時候會出現連結錯誤)+Anaconda4.2.13(x64)+CUDA8.0(x64)+cuDNN v5.1(x64)

接著cmake和python一定要新增到PATH裡面。

二:編譯

根據文件:你只需要在cmd下執行以下4句就可以編譯成功。

C:\Projects> git clone https://github.com/BVLC/caffe.git
C:\Projects> cd caffe
C:\Projects\caffe> git checkout windows
:: Edit any of the options inside build_win.cmd to suit your needs
C:\Projects\caffe> scripts\build_win.cmd

但是你懂得,國內的網路奇葩,用命令列下載github資源的速度實在堪憂。

所以一般都是選擇下載zip壓縮包,然後解壓到目標路徑的做法。

接著,進入caffe資料夾,在該目錄開啟cmd,執行

C:\Projects\caffe> scripts\build_win.cmd

此時,它就會提醒你某些python的庫沒有配好,這些庫是six、numpy、pyaml(文件說還有scipy、matplotlib和scikit-image,其實只要前面三個就可以通過配置了)。這些庫可以用pip或者Anaconda安裝

當你安裝完庫之後,再一次執行上面那句命令,它就會自動去下載一個依賴庫。

好,還是同樣的問題,國內的網路奇葩,用命令列下載這個github專案上的依賴庫的速度實在堪憂,所以這時候就要“曲線救國”:

進入scripts資料夾,用編輯器開啟download_prebuilt_dependencies.py。然後,你就發現了依賴庫的的下載地址,這裡我選的是v140版本的py27依賴庫。

(懶人專用)地址連結:https://github.com/willyd/caffe-builder/releases/download/v1.0.1/libraries_v140_x64_py27_1.0.1.tar.bz2

下完依賴包,然後在caffe目錄下,新建一個名為“build”的資料夾,然後再把我們下好的依賴包解壓到build資料夾裡面。

解壓完後,發現它是個libraries資料夾,然後把\libraries\bin,\libraries\lib,\libraries\x64\vc14\bin三個的絕對路徑新增到環境變數裡面(新增完後記得重啟~)。

重要的一步來了:

進入scripts資料夾,把build_win.cmd的字尾改成txt,然後用編輯器開啟,115行-137行的內容都可以刪除了(沒錯,以上步驟就是人工完成build準備工作的批處理。)

刪除部分如下:

if NOT EXIST build mkdir build
pushd build

:: Setup the environement for VS x64
set batch_file=!VS%MSVC_VERSION%0COMNTOOLS!..\..\VC\vcvarsall.bat
call "%batch_file%" amd64

,如果需要cuDNN庫,那麼在(沒刪之前的)143行-155行那一塊。

:: Configure using cmake and using the caffe-builder dependencies
:: Add -DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^
:: below to use cuDNN
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% ^
      -DCUDNN_ROOT=C:\Projects\cuda ^ 
      ::可以新增在這裡,貌似是要反斜槓?
      -C %cd%\libraries\caffe-builder-config.cmake ^
      %~dp0\..

可以按提示新增。然後儲存,把字尾修改回“cmd”。

最後一步:到build目錄下開啟命令視窗執行

C:\Projects\caffe\build> build_win.cmd

然後,你就可以經過一個漫長的等待,等待cmake把vs2015的專案給build出來。

build完之後,在build的目錄下就會出現一個caffe.sln工程檔案。然後就可以用VS2015按需編譯出Release程式。此時無需為VS工程配置環境。

以上。

python3.5也是可以的~再也不將就了~

可能行數什麼的有改動.....就醬吧