vs2015編譯caffe
有些時候,需要在python3的環境下import caffe,需要用vs2015在python3的環境下,編譯pycaffe。
microsoft的windows版本的caffe,依賴的庫NugetPackages,是基於vs2013,python2.7編譯的,編譯的pycaffe在python3的環境下不能用。
用vs2015編譯caffe,網上有兩種方法,
一,編譯用cmake編譯BVLC版本的caffe,看起來比較復雜,沒有嘗試。
二,編譯happynear(峰神)版本的caffe,第三方庫,有網友已經編譯好了。
本文采用的第二種思路。
參考博客:https://blog.csdn.net/xingchenbingbuyu/article/details/72765612
用vs2015在happynear版本的caffe上編譯。
下載caffe源碼,happynear版本的caffe,王峰大神修改後的caffe源碼。
https://github.com/happynear/caffe-windows
該網頁中,峰神分享了第三方庫,其中有一些庫,是基於python2.7編譯的。
有網友分享了一份基於python3編譯的第三方庫,
https://github.com/happynear/caffe-windows/issues/262
該第三方庫的鏈接:
https://pan.baidu.com/s/1o_qGgZQ0M5Z06TuEQxkF2g icsq
將這些庫復制到caffe_root/windows/thirdparty中,
我的電腦上沒有gpu,所以編譯的是cpu版本的caffe
修改CommonSettings.props這個配置文件,
編譯cpu模式的時候,
將這一行去掉,要不然會報錯,找不到cufft.lib的文件
用vs2015打開這個caffe解決方案,
編譯libcaffe,caffe,基本沒有啥問題。主要的問題出現在編譯pycaffe上。
首先需要配置一下,python的環境
開始的時候,我用python3.5的環境編譯的pycaffe,報錯找不到python3.6.lib。
以為是python的環境沒有配置,導致找不到庫文件。重新配置python路徑,編譯了好幾次,都在編譯pycaffe的時候,失敗,找不到python36.lib。
猜測,可能是下載的第三方庫,是基於python3.6編譯的。
在conda配置了一個python3.6的環境,py36
Prefix path: D:\Anaconda3\envs\py36\
Interpreter path: D:\Anaconda3\envs\py36\python.exe
Windowed interpreter: D:\Anaconda3\envs\py36\pythonw.exe
Library path: D:\Anaconda3\Lib
Language version: 3.5 這個選項中最高的就是3.5,沒有3.6,就選了個3.5,貌似不影響最後的編譯。
依次編譯libcaffe,caffe,pycaffe,編譯成功。
在python中import caffe
將caffe_root\Build\x64\Release\pycaffe路徑下的caffe文件夾拷貝到py36/Lib/site-packages中。
即可在python3.6的環境下import caffe
不需要將..\caffe_root\Build\x64\Release 的路徑添加到環境變量中,也可import caffe
因為生成的pycaffe/caffe中包含了一些dll文件。
vs2015編譯caffe