一:目的
Caffe-Windows編譯python接口;
網上找了很多資料,基本上都是用Anaconda2進行編譯的,但是個人電腦中裝的是Anaconda3,故這裏採用Anaconda3進行編譯並做下記錄。
二:編譯過程
1. 思路
個人電腦裏裝了python27,python36和Anaconda3,而Caffe-Windows編譯python接口基本上都是基於python27做的,嘗試直接用Anaconda3做也出現了錯誤,因此還是選擇用Python27的環境進行編譯。
主要有兩個思路,一是直接用python27進行編譯,也是可行的,但是在caffe-windows\python\requirements.txt文件中,可以看出需要的python包挺多的,一個個安裝較爲繁瑣。第二個想法是在Anaconda3中建立一個python27的環境,所需的包直接用Anaconda3進行下載,相對來說方便一點,這裏主要選擇了第二個思路。
2. 在Anaconda3中建立一個python27的環境
(1) 在開始菜單中找到Anaconda3-Anaconda Prompt,打開Anaconda Prompt,輸入以下命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes conda config --remove channels defaults #從清華鏡像加載,不然總是從官網下載超時。 然後添加python2.7; conda create -n py27 python=2.7
添加完成後,打開Anaconda3,在Enviroments中可以看出已經有python27的環境了
(2) 將python27環境添加進環境變量
3. 編譯python接口(1) 修改E:\Caffe\using\caffe-windows\windows\CommonSettings.props文件
首先需要將PythonSupport設置爲true,其次應當將Pythondir設置爲剛纔的py27路徑
(2) 打開caffe-windows\windows\Caffe.sln,設置爲x64 release,編譯pycaff
(3) 編譯成功後,在caffe-windows\Build\x64\Release目錄下會生成pycaffe目錄
將這個文件夾直接拷貝進Anaconda3\envs\py27\Lib\site-packages
4. 測試
(1) 打開命令行,cd進Anaconda3\envs\py27目錄,因爲python.exe與之前的版本重複了,這裏我將其重命名了爲python1.exe,輸入python1(其實由於我們已經將其添加進了環境變量,不用cd進該目錄,直接輸入python1即可)即可打開py27交互命令行。
(2) 輸入import caffe,如果能成功,就證明編譯成功了。
此時可能出現一些問題,大多說是說ImportError,如ImportError: No module named google.protobuf.internal ,一般是因爲缺少caffe-windows\python\requirements.txt文件中提到的包,此時可以進入Anaconda3\Enviroment\py27下進行下載,再重新編譯並重覆上述操作即可!
finished! enjoy!
參考:
win下anaconda裝python2.7和3.5以及jupyter共存
【caffe-Windows】微軟官方caffe之 Python接口配置及圖片生成實例