最近項目須要用到caffe這個框架,因此試着配置。因爲絕大多數的教程都是基於Linux環境的,因此對於Window的用戶來講教程比較少。幾經波折之後,終於配置成功,我把配置的重點步驟記錄下來。html
python2.7python
VisualStudio2013git
caffe 下載地址: https://github.com/Microsoft/...github
下載之後會獲得一個叫做caffe-master.zip的包,把它解壓到出來。會獲得以下的目錄:windows
這是其中的一部分。框架
在./caffe-master/windows/路徑下找到CommonSettings.props.example文件。打開這個文件,而且進行設置。python2.7
<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打開。工具
打開之後會出現如下界面學習
須要留意的地方有兩個,在中間下拉菜單旋轉"Release",看看是否有16個項目。而後找到libcaffe這一個項目,右鍵→「屬性」
在"configuration Properties"目錄下找到"C/C++",將「Treat Warnings Aa Errors」調成「NO(/WX-)」。由於在編譯libcaffe的過程當中可能會出現一下報警,這些報警的級別過高,會被誤認爲錯誤。
留意上面的"Additional Include Directories",把python安裝路徑下的"include"文件夾的路徑填上去,這裏要根據各人的地址來填寫。個人地址是E:/python/include。寫完之後及得用;隔開。
而後,接着配置caffe項目的屬性
在"C/C++"選項中找到"Additional Include Directories",把python的include文件的路徑添加進去,例如:E:/python/include。
而後,一樣是caffe項目下的屬性,選擇Linker(鏈接器),選擇"Additional Library Directories"(附加庫目錄),把python的libs的路徑添加進去。例如:"E:/python/libs"
而後咱們找到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"(生成)
時間可能花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文件,找到的話編譯就成功了。
把./caffe-master/Build/x64/Release/pycaffe目錄下的caffe文件夾拷貝到python的Lib目錄下,並將這個路徑添加到系統變量。
完成上述操做之後,開始檢驗可否在python中導入caffe。在dos窗口中輸入測試,讓咱們嘗試import caffe,出現以下界面 證實配置成功了。
上述操做一次成功的朋友這一段能夠忽略。配置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(詳細教材)