天天看點

Windows10下配置caffe及matlab接口編譯(CPU)

這段時間編譯配置caffe的matlab接口,按照網上給的五花八門的教程,愣是兩天沒配置好,最終算是功夫不負有心人吧,在踩了無數個坑之後,還是編譯成功了,現在把編譯過程記錄下來備忘,同時也分享給你們,希望你們一次成功。

首先準備好所有東西:

我的機子Windows10,matlab2020a,VS2013旗艦版,不需要Cuda

Caffe:連結:https://pan.baidu.com/s/1iTKJnh2l81p7TnVms2qLoQ  提取碼:uyra 

VS2013旗艦版網址: http://download.microsoft.com/download/B/1/9/B1932B8C-1046-4773-A1DD-4AB5C0978637/vs2013.2_ult_chs.iso

R2020a:連結:https://pan.baidu.com/s/1R6-vaLBG84he9MeC_0tMOA  提取碼:l6qp ,失效聯系我要。

第一步:下載下傳caffe-master,解壓到任何地方都可以,在caffe-master\windows下找到CommonSettings.props.example,複制一份并重命名為CommonSettings.props,打開CommonSettings.props編輯,第一個紅框true表示隻使用cpu,第二個紅框false表示不使用cuda,第三個紅框表示不用python接口,第四個紅框表示使用matlab接口

Windows10下配置caffe及matlab接口編譯(CPU)

然後,找到19-29行,把27行的false改為true,按下圖注釋掉28行,不然後面會報錯(坑1)

Windows10下配置caffe及matlab接口編譯(CPU)

然後,找到52-56行,52行後面寫true,53行填寫自己matlab安裝路徑,54行不動

注意,我這裡55行也不動,但是需要執行一個操作,就是把F:\software\R2020a\toolbox\parallel\gpu\extern\include\gpu下的mxGPUArray.h檔案複制到F:\software\R2020a\extern\include\gpu檔案夾下,這是為了防止出現無法打開包括檔案: “gpu/mxGPUArray.h”的錯誤(坑2)

Windows10下配置caffe及matlab接口編譯(CPU)

其他的都不要改,然後儲存

第二步:使用VS2013打開E:\fusion\caffe-master\windows下的Caffe.sln

項目→屬性→C/C++→正常→将警告視為錯誤 設定為否

Windows10下配置caffe及matlab接口編譯(CPU)

生成-配置管理器把debug改成release

Windows10下配置caffe及matlab接口編譯(CPU)

直接生成-重新生成解決方案

Windows10下配置caffe及matlab接口編譯(CPU)

中間會遇到錯誤:

\NugetPackages\boost.1.59.0.0\lib\native\include\boost/format/alt_sstream_impl.hpp :

error C2220: 警告被視為錯誤 - 沒有生成“object”檔案 (..\..\src\caffe\util\math_functions.cpp)

輕按兩下這個錯誤,會彈出這個.cpp的檔案,不用管,直接儲存,再次 生成-重新生成解決方案。

第一次配置會顯示正在還原nuget程式包,這個過程很慢,我大概等了40分鐘,當時我在看《大秦賦》^_^,直接看了一集差不多還原好了,然後就會在caffe-master同級目錄下生成一個NugetPackages的檔案夾,裡面是16個檔案夾

Windows10下配置caffe及matlab接口編譯(CPU)
Windows10下配置caffe及matlab接口編譯(CPU)

完事解決方案生成成功會顯示生成成功63個,失敗0個,跳過0個

此時,E:\fusion\caffe-master目錄下會多了一個Build的檔案夾

Windows10下配置caffe及matlab接口編譯(CPU)

找到E:\fusion\caffe-master\Build\x64\Release\matcaffe\+caffe\private,如果有下面這些東西,那你就離成功不遠了

Windows10下配置caffe及matlab接口編譯(CPU)

第三步:右擊解決方案--屬性--通用屬性--啟動項目--目前標明内容--儲存

Windows10下配置caffe及matlab接口編譯(CPU)

選中caffe,調試-開始執行,如果彈出下面内容,表示caffe安裝成功

Windows10下配置caffe及matlab接口編譯(CPU)

第四步:把caffe接入matlab   

打開E:\fusion\caffe-master\Build\x64\Release,把E:\fusion\caffe-master\Build\x64\Release加入系統環境變量,此電腦-屬性-進階系統設定-環境變量-系統變量-path

把E:\fusion\caffe-master\Build\x64\Release\matcaffe以及matcaffe下的子檔案夾添加到matlab的路徑中

Windows10下配置caffe及matlab接口編譯(CPU)
Windows10下配置caffe及matlab接口編譯(CPU)

重新開機matlab

在指令行執行caffe.reset_all()會顯示Cleared 0 solvers and 0 stand-alone nets

注意,這裡可能會顯示未定義變量caffe.reset_all,我當時就是配置好上面所述一切,并重新開機matlab,卡在了這一步

重點來了,我重新開機了電腦,并以管理者運作matlab,再次執行 caffe.reset_all()

美好的結果出現了

Windows10下配置caffe及matlab接口編譯(CPU)

大功告成!

繼續閱讀