【caffe】windows下caffe+vs2013+python2.7+cuda8.0+cmake3.8編譯與配置

項目的需要,終究還是用到了深度學習,Caffe無疑是我這種菜鳥最好的入門平臺,然鵝,事情並沒有想象的那麼簡單!!!單是編譯caffe的庫就已經把我折騰得灰頭土臉了,搜了很多caffe的編譯教程,一步一步得去操作,沒有一個編譯通過的,起初是CMake不通過,不甘心,又花了兩天時間逐個編譯出caffe的依賴庫,總算CMake通過了,生成vs2013編譯工程後,總算可以Build了,各種語法錯誤,簡直讓人心力交瘁。用微軟版的免依賴庫版,也是各種編譯錯誤。就在要放棄的時候,又重新開始嘗試了一下,仔細分析了CMake過程中所報的錯誤,逐個解決,CMake通過!vs2013通過!Build通過!Install成功!歐耶!!!

還好沒放棄,在此,將編譯過程,以及遇到的問題和解決方案分享給大家,希望對各位能有所幫助!


1、環境準備

1.1 安裝cuda(https://developer.nvidia.com/cuda-downloads)。

1.2 安裝cuDNN(https://developer.nvidia.com/cudnn,需要註冊,這裏下載v5版,直接解壓到安裝目錄即可,記得添加環境變量)。

1.3 安裝python(https://www.python.org/downloads/,這裏安裝的是python2.7)。

1.4 安裝cmake(https://cmake.org/download/,安裝最新版本的即可)。


已經安裝的直接跳到第二步!


2、下載源碼包

下載window版本的caffe源碼包(https://github.com/BVLC/caffe/tree/windows)。

注意下載頁面下方的Windows Setup項,如下圖,可以按照這個要求準備環境。




3、CMake編譯

將源碼包拷貝到編譯目錄下(我用的是D:\Libraries\caffe),解壓到當前目錄。新建build_64文件夾作爲CMake的編譯目錄,新建msvc2013_64作爲安裝目錄。

打卡CMake,分別添加源文件目錄和編譯目錄。Configure,選擇Visual Studio 12 2013 Win64作爲生成工具。finish,報錯(如果沒有報錯直接跳過即可),如下:




腫麼辦,不着急,仔細看出錯的原因,是在向C:\Users\Administrator\.caffe\dependencies\download\中下載以依賴庫libraries_v120_x64_py27_1.1.0.tar.bz2時出錯,再看出錯的位置,位於打源文件cmake文件夾下的WindowsDownloadPrebuiltDependencies.cmake文件,打開如下:




第6行給出了下載依賴庫libraries_v120_x64_py27_1.1.0.tar.bz2的位置,即(https://github.com/willyd/caffe-builder/releases),如下圖所示,選擇對應的依賴庫。




將下載的依賴庫libraries_v120_x64_py27_1.1.0.tar.bz2拷到C:\Users\Administrator\.caffe\dependencies\download\路徑下。同時修改WindowsDownloadPrebuiltDependencies.cmake文件,將下載命令部分(即58-79行)註釋掉,並保存。




繼續Configure,依然會報錯,如下:




不過這個不是什麼大問題,只要將Atlas_BLAS的相關路徑添加進來即可。繼續configure,OK通過。



將CMAKE_INSTALL_PREFIX目錄設爲此前新建的文件夾msvc2013_64的絕對路徑,作爲安裝目錄,繼續Configure,再Generator。




4、VS2013編譯與安裝


generate成功以後,在build_64文件夾下,會生成如下衆多文件,打開Caffe.sln。




分別在Debug和Release環境下,先BUILD->Build Solution,再將INSTALL設爲啓動項,BUILD->Project Only->Build Only Install。


編譯安裝成功,在msvc2013_64文件夾下,會看到如下文件夾:



5、環境配置


5.1 在VS2013中的配置

首先,設置環境變變量,將安裝文件夾下的bin文件夾目錄添加到環境變量路徑中。

然後,在編譯文件夾下添加caffe.props文件(具體位置和名稱可以根據需要設定),並向該文件中添加如下內容(主要是頭文件和靜態庫),保存。在vs2013中使用時caffe時,只需要將改文件添加到工程的property manager中即可。

<?xml version="1.0" encoding="utf-8"?>  
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
  <ImportGroup Label="PropertySheets" />  
  <PropertyGroup Label="UserMacros" />  
  <PropertyGroup>  
    <IncludePath>D:\Libraries\caffe\msvc2013_64\include;$(IncludePath)</IncludePath>  
    <LibraryPath Condition="'$(Platform)'=='X64'">D:\Libraries\caffe\msvc2013_64\lib;$(LibraryPath)</LibraryPath>  
  </PropertyGroup>  
  <ItemDefinitionGroup>  
    <Link Condition="'$(Configuration)'=='Debug'">  
      <AdditionalDependencies>caffe-d.lib;caffeproto-d.lib;%(AdditionalDependencies)</AdditionalDependencies>  
    </Link>  
    <Link Condition="'$(Configuration)'=='Release'">  
      <AdditionalDependencies>caffe.lib;caffeproto.lib;%(AdditionalDependencies)</AdditionalDependencies>  
    </Link>  
  </ItemDefinitionGroup>  
  <ItemGroup />  
</Project>  


5.2 在python2.7中的配置

編譯完成後,將源文件夾caffe-windows下python文件夾中的caffe文件夾(裏面含有_caffe.pyd)整體拷貝到python安裝目錄(如C:\Python27)下的\Lib\site-packages文件夾中,即可。




最後,編譯的過程中遇到問題,歡迎提出和分享~


2017.07.15

發佈了78 篇原創文章 · 獲贊 369 · 訪問量 126萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章