Win x64 +VS2013 + python2.7環境下caffe的配置學習過程

前言

 最近項目須要用到caffe這個框架,因此試着配置。因爲絕大多數的教程都是基於Linux環境的,因此對於Window的用戶來講教程比較少。幾經波折之後,終於配置成功,我把配置的重點步驟記錄下來。html

準備

  1. python2.7python

  2. VisualStudio2013git

  3. caffe 下載地址: https://github.com/Microsoft/...github

 下載之後會獲得一個叫做caffe-master.zip的包,把它解壓到出來。會獲得以下的目錄:windows

clipboard.png

這是其中的一部分。框架

配置文件的設置

 在./caffe-master/windows/路徑下找到CommonSettings.props.example文件。打開這個文件,而且進行設置。python2.7

clipboard.png

 <PythonSupport>true</PythonSupport>這個標籤必須把它寫成true。以上是個人配置參數。至於上面三個標籤是根據本身的須要設定的。這裏我選擇只用cpu,若是用到CuDNN的話必須提早下載,還必須把Cuda的版本號寫對。
 設置好了之後記得保存,而後回到./caffe-master/windows/中。接下來咱們還須要把以前已經設置好的CommonSettings.props.example文件拷貝一份在./caffe-master/windows/中,而後將拷貝後的文件改名爲CommonSettings.props。而後右鍵CommonSettings.props.example選擇"Build"(中文應該是「生成」)。ide

編譯項目

 繼續在./caffe-master/windows/中,找到Caffe.sln這個文件,用VS2013打開。工具

clipboard.png

 打開之後會出現如下界面學習

clipboard.png

 須要留意的地方有兩個,在中間下拉菜單旋轉"Release",看看是否有16個項目。而後找到libcaffe這一個項目,右鍵→「屬性」

clipboard.png

clipboard.png

 在"configuration Properties"目錄下找到"C/C++",將「Treat Warnings Aa Errors」調成「NO(/WX-)」。由於在編譯libcaffe的過程當中可能會出現一下報警,這些報警的級別過高,會被誤認爲錯誤。

 留意上面的"Additional Include Directories",把python安裝路徑下的"include"文件夾的路徑填上去,這裏要根據各人的地址來填寫。個人地址是E:/python/include。寫完之後及得用;隔開。

 而後,接着配置caffe項目的屬性

clipboard.png

 在"C/C++"選項中找到"Additional Include Directories",把python的include文件的路徑添加進去,例如:E:/python/include。

 而後,一樣是caffe項目下的屬性,選擇Linker(鏈接器),選擇"Additional Library Directories"(附加庫目錄),把python的libs的路徑添加進去。例如:"E:/python/libs"

clipboard.png

 而後咱們找到pycaffe這個項目,像上述操做同樣找到"C/C++"選項中的"Additional Include Directories",此次須要添加的不止python的include路徑,還有numpy的include路徑,格式分別是:「E:/python/include」和"E:/python/Lib/site-packages/numpy/core/include"。記得用;隔開

 繼續是pycaffe項目,像上述操做同樣找到Linker(鏈接器),選擇"Additional Library Directories"(附加庫目錄),把python的libs的路徑和numpy的lib路徑添加進去。格式分別是:「E:/python/libs」和"E:/python/Lib/site-packages/numpy/core/lib"。記得用;隔開。

 接下來生成這16個項目,右鍵Solution'Caffe'選擇"Build"(生成)

clipboard.png

 時間可能花10到20分鐘,若是最後顯示生成16個項目成功的話就真的成功編譯了。不過不少人可能會出現找不到"python27.lib"這個錯誤,由於咱們上述的操做沒有逐個逐個地把python的libs的路徑添加到"Additional Library Directories"(附加庫目錄),編譯的時候哪一個項目報出錯誤,就在哪一個項目的"Additional Library Directories"(附加庫目錄)添加libs的路徑。

 此外,還有可能遇到找不到python27_d.lib這個錯誤,最簡單的解決方法就是把python27.lib拷貝一份,而後改名爲python27_d.lib。

 假設咱們都已經編譯完成了,在./caffe-master/Build/x64/Release的目錄下,看看能不能找到caffe.exe文件,找到的話編譯就成功了。

clipboard.png

 把./caffe-master/Build/x64/Release/pycaffe目錄下的caffe文件夾拷貝到python的Lib目錄下,並將這個路徑添加到系統變量。

測試

 完成上述操做之後,開始檢驗可否在python中導入caffe。在dos窗口中輸入測試,讓咱們嘗試import caffe,出現以下界面 證實配置成功了。

clipboard.png

可能遇到的問題

 上述操做一次成功的朋友這一段能夠忽略。配置caffe的過程當中可能出現各類意想不到的錯誤,每個人出現的狀況可能都不同。以前介紹的步驟爲基礎步驟,如下說一下我在配置的時候遇到的難題。

Decode error - output not utf-8:
 這個錯誤是由於Sublime的編碼問題形成的,具體解決方法能夠參考這裏

激活上下文生成失敗:
在導入caffe的時候,python報出這個錯誤。這個錯誤其實就是SideBySide ID59,網上傳聞是因爲計算機進行格式化或刪除分區後,致使隱含文件消失而產生錯誤。正好我在安裝VS2013以前進行過度區。
 解決的方法比較暴力,就是卸載VS2013再重裝,而後將以前介紹的操做重作一遍。卸載和重裝VS2013都十分麻煩,並且稍有不慎就會形成卸載後沒法重裝。

No module named google.protobuf.internal:
 具體操做在這裏,關鍵是能把protoc.exe文件拷貝到protobuf-master/python目錄下,若編譯失敗,能夠在網上直接找現成的protoc.exe文件。

參考

基於Windows10 x64+visual Studio2013+Python2.7.12環境下的Caffe配置學習

【caffe-Windows】微軟官方caffe之 Python接口配置及圖片生成實例

windows7下配置caffe+matlab2016 無GPU(詳細教材)

使用 Sublime 工具時報Decode error - output not utf-8解決辦法

Windows7上配置Python Protobuf 操做步驟

相關文章
相關標籤/搜索