1. 程式人生 > >vs2015編譯caffe

vs2015編譯caffe

基本 ons 問題 找不到 dll文件 lan 其中 align 基於

有些時候,需要在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