1. 程式人生 > >Deep Learning---win10 搭建caffe開發環境(GPU)

Deep Learning---win10 搭建caffe開發環境(GPU)

按照Microsoft官方https://github.com/Microsoft/caffe安裝教程。不過依賴工具庫版本有點不一樣,比如CUDA。建議按照官方的安裝版本來,最簡單的就是隻跑CPU安裝。

1 Download

下載選擇截圖:

CUDA Toolkit 8.0

cuDNN v5.1 for win10

MiniConda 包管理器

下載軟體列表彙總:

下載軟體列表彙總

安裝完CUDA後,會自動新增CUDA環境變數:

CUDA環境變數

執行NVIDIA GeForce Experience程式遇到下面這個問題,可能是原來系統中已經有了該版本,可以根據安裝時間來解除安裝先安裝的那個版本。不過,後面再去執行NVIDIA GeForce Experience時還是會報這個錯誤,但是沒關係,不會影響caffe訓練。不過建議在安裝之前先解除安裝本機上的NVIDIA顯示卡驅動。

顯示驅動錯誤

2 編譯

2.1 C++版本

  • 下載caffe原始碼後(Microsoft github),進入caffe原始碼的windows資料夾
  • 複製CommonSettings.props.example為CommonSettings.props
  • 然後用VS2013 ULT版本開啟Caffe.sln(如果出現libcaffe和test_all 匯入失敗)
  • 因為CommonSettings.props的配置預設是選擇CUDA7.5版本的,而我是8.0版本,則開啟該配置檔案,並修改為8.0。當然如果直接不需要GPU,那麼也在該配置檔案中修改CpuOnlyBuild欄位為true。然後再重新用VS開啟Caffe.sln
  • 然後設定libcaffe為啟動專案(當然還可以設定編譯成Release版本Release x64 ,預設為Debug版本),並編譯
  • 編譯可能會出現一些問題,我把我出現的問題記錄在後面了。
  • 編譯完libcaffe後,然後將caffe專案設定為啟動專案,並編譯。
  • 整個編譯完後,會在caffe/Build/x64/Debug/目錄下產生一些庫和caffe.exe檔案。

libcaffe專案編譯成功後,現在編譯caffe專案,設定caffe為啟動專案,然後編譯生成:

libcaffe

2.2 Python版本

修改CommonSettings.props檔案,將PythonSupport設定為true:

<PythonSupport
>
true</PythonSupport>

編譯完成後,python介面路徑需要手動配置。設定環境變數PythonPath指向 \Build\x64\Release\pycaffe, 或者複製 \Build\x64\Release\pycaffe\caffe\lib\site-packages. 這裡的python_root對應miniconda2.

2.3 Matlab版本

修改CommonSettings.props檔案,將MatlabSupport設定為true:

<MatlabSupport>true</MatlabSupport>

3 問題和解決

Q1: libcaffe test_all專案load失敗(CUDA版本導致)

Q1

A1: 修改CommonSettings.props檔案

修改CommonSettings.props檔案,如下圖修改為對應的CUDA版本:

A1

Q2: error MSB4062: 未能從程式集……

error MSB4062: 未能從程式集E:\NugetPackages\OpenCV.2.4.10\build\native\\private\coapp.NuGetNativeMSBuildTasks.dll 載入任務“NuGetPackageOverlay”。未能載入檔案或程式。

A2: 刪除OpenCV2.4.10……

刪除OpenCV2.4.10後,重新編譯就成功了。好詭異。如果還是不行,將VS解決方案都清理乾淨,然後刪掉OpennCV2.4.10資料夾,再重新編譯。

Q3: Python版本之無法開啟包括檔案: “pyconfig.h”

無法開啟包括檔案: “pyconfig.h”: No such file or directory

A3:新增標頭檔案路徑

原因是缺少相關標頭檔案,在專案配置中將E:\Miniconda2\include新增進來:

這裡寫圖片描述

A4: 包含python27.lib路徑

這裡寫圖片描述

Q5: Matlab編譯出錯

.\matlab\+caffe\private\caffe_.cpp(16): fatal error C1083: 無法開啟包括檔案: “gpu/mxGPUArray.h”: No such file or directory

A5 : Matlab編譯問題解決

修改matlab路徑,Matlab2012版本沒有該檔案(gpu/mxGPUArray.h), 重新安裝Matlab2014,並在配置檔案中設定好路徑:

這裡寫圖片描述

並將標頭檔案所在目錄新增到VS附加包含目錄中去,重新編譯,通過:

這裡寫圖片描述