日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

windows下配置caffe-matlab接口

發布時間:2025/3/11 windows 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows下配置caffe-matlab接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、環境說明

也是安裝順序。特別強調的是除VS2015以外,其他軟件的安裝路徑都最好不要包含空格。
1、Windows 64位系統。
2、Visual Studio 2015(VS2015, 對應VC14)。
3、Matlab 2017a。Matlab的版本倒不是很重要,只要支持Matlab 2015a之后的版本都應該支持。所以如果安裝了其他版本的Matlab,可以先不用安裝2017a。安裝完之后要把其中的bin目錄和runtime\bin目錄加入環境變量Path。

D:\Program Files\MATLAB\R2017a\bin D:\Program Files\MATLAB\R2017a\runtime\win64

4、CMake 3.14。安裝時要選擇將CMake添加到環境變量Path,然后下面的路徑就會自動添加到環境變量Path。

C:\Program Files\CMake\bin

5、Miniconda2的Python2.7版本。安裝的時候記得勾選add anaconda to environment path。然后下面的路徑就會自動添加到環境變量Path。安裝完conda之后,記得把conda的源換成國內的源,否則下載庫會特別慢。

D:\Libs\MiniConda D:\Libs\MiniConda\Library\mingw-w64\bin D:\Libs\MiniConda\Library\usr\bin D:\Libs\MiniConda\Library\bin D:\Libs\MiniConda\Scripts

安裝完成后,打開命令行,輸入cmake和python --version,檢查cmake是否工作以及python版本是否正確。如果Python的版本不是2.7,請在環境變量中刪除其他Python版本的路徑。

二、編譯Caffe-Windows

1、下載資源

  • Caffe-Windows
    打開https://github.com/BVLC/caffe/tree/windows,下載源碼(可直接點擊下載)。
  • libraries_v140_x64_py27_1.1.0.tar.bz2
    這個是caffe要依賴的庫,點擊下載。v140對應VS2015,x64對應系統架構,py27對應python版本。下載完成之后,打開libraries_v140_x64_py27_1.1.0.tar.bz2所在目錄,按住Shift鍵,右鍵單擊空白處,然后選擇“在此處打開powershell窗口”,打開命令行,執行下面的命令:
cmd md %USERPROFILE%\.caffe\dependencies\download copy libraries_v140_x64_py27_1.1.0.tar.bz2 %USERPROFILE%\.caffe\dependencies\download

執行上面的命令就是把libraries_v140_x64_py27_1.1.0.tar.bz2復制到%USERPROFILE%\.caffe\dependencies\download這個目錄里面去。%USERPROFILE%是當前用戶的目錄。可在命令行中使用echo %USERPROFILE%來查看。

2、編輯CMakeLiss.txt

  • 解壓caffe-windows,打開caffe-windows\CMakeLiss.txt,在:
# ---[ Caffe project project(Caffe C CXX)

之前加入如下幾行:

# ---[Install directory: D:\Libs\Caffe set(CMAKE_INSTALL_PREFIX "D:/Libs/Caffe")# ---[Set Matlab_DIR set(Matlab_DIR "D:/Program Files/MATLAB/R2017a")

CMAKE_INSTALL_PREFIX 指定Caffe的安裝路徑,Matlab_DIR 指定Matlab的根目錄。

  • 打開caffe-windows\cmake\Utils.cmake,把357行的:
message(FATAL_ERROR "Logic error. Need to update cmake script")

改為:

# message(FATAL_ERROR "Logic error. Need to update cmake script")

3、編輯build_win.cmd

  • 打開caffe-windows\scripts\build_win.cmd,如下就是編譯選項部分:
:: Default values if DEFINED APPVEYOR (echo Setting Appveyor defaultsif NOT DEFINED MSVC_VERSION set MSVC_VERSION=14...

在if DEFINED APPVEYOR之前添加如下幾行:

:: Default values set WITH_NINJA=0 set BUILD_MATLAB=1 set CPU_ONLY=1 set PYTHON_VERSION=2 set BUILD_PYTHON_LAYER=1 if DEFINED APPVEYOR (echo Setting Appveyor defaultsif NOT DEFINED MSVC_VERSION set MSVC_VERSION=14if NOT DEFINED WITH_NINJA set WITH_NINJA=0...

WITH_NINJA:不使用NINJA編譯;BUILD_MATLAB:編譯Matlab模塊,CPU_ONLY:不適用CUDA加速;PYTHON_VERSION:指定python版本。BUILD_PYTHON_LAYER:編譯pycaffe模塊。

  • 然后設置conda的安裝目錄,把
:: Set python 2.7 with conda as the default pythonif !PYTHON_VERSION! EQU 2 (set CONDA_ROOT=C:\Miniconda-x64)

修改為

:: Set python 2.7 with conda as the default pythonif !PYTHON_VERSION! EQU 2 (set CONDA_ROOT=D:\Libs\MiniConda)

D:\Libs\MiniConda是Conda的安裝路徑。

  • 然后在
if ERRORLEVEL 1 (echo ERROR: Configure failedexit /b 1 )

后面添加一行

if ERRORLEVEL 1 (echo ERROR: Configure failedexit /b 1 )exit /b 1:: Lint ...

exit /b 1是退出cmd的命令,添加這行的目的是觀察cmake的結果。

4、執行build_win.cmd

  • 安裝pycaffe的依賴:
conda install --yes pip pip install ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz

在執行這一步之前,建議先把conda的源換成國內的源。

  • 進入caffe-windows\scripts目錄,空白處按住shift+點鼠標右鍵,然后打開powershell,輸入:
cmd build_win.cmd build_win.cmd

對,build_win.cmd就是要執行兩遍,因為第一遍的安裝目錄不正確。輸出類似為(我把需要相同的部分標記出來, #后面就是我的注釋):

...... # 需要找到Matlab -- Found Matlab: D:/Program Files/MATLAB/R2017a/extern/include (found version "9.2") found components: MAIN_PROGRAM MX_LIBRARY -- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.19.1.windows.1") -- -- ******************* Caffe Configuration Summary ******************* -- General: -- Version : 1.0.0 -- Git : unknown -- System : Windows -- C++ compiler : C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- Release CXX flags : /MD /O2 /Ob2 /DNDEBUG /DWIN32 /D_WINDOWS /W3 /GR /EHsc -- Debug CXX flags : /MDd /Zi /Ob0 /Od /RTC1 /DWIN32 /D_WINDOWS /W3 /GR /EHsc -- Build type : Release # Release模式 -- -- BUILD_SHARED_LIBS : 0 # 需要相同 -- BUILD_python : 1 # 需要相同 -- BUILD_matlab : 1 # 需要相同 -- BUILD_docs : -- CPU_ONLY : 1 # 需要相同 -- USE_OPENCV : ON # 需要相同 -- USE_LEVELDB : ON # 需要相同 -- USE_LMDB : ON # 需要相同 -- USE_NCCL : 0 # 需要相同 -- ALLOW_LMDB_NOLOCK : OFF # 需要相同 -- -- Dependencies: -- BLAS : Yes (Open) # 需要相同 -- Boost : Yes (ver. 1.61) # 需要相同 -- glog : Yes # 需要相同 -- gflags : Yes # 需要相同 -- protobuf : Yes (ver. 3.1.0) # 需要相同 -- lmdb : Yes (ver. 0.9.70) # 需要相同 -- LevelDB : Yes (ver. 1.18) # 需要相同 -- Snappy : Yes (ver. 1.1.1) # 需要相同 -- OpenCV : Yes (ver. 3.1.0) # 需要相同 -- CUDA : No # 需要相同 -- -- Python: # 這里需要找到Python -- Interpreter : D:/Libs/MiniConda/python.exe (ver. 2.7.15) -- Libraries : D:/Libs/MiniConda/libs/python27.lib (ver 2.7.15) -- NumPy : D:/Libs/MiniConda/lib/site-packages/numpy/core/include (ver 1.13.1) -- -- Matlab: -- Matlab : Yes (, # 需要找到Matlab -- Octave : No -- -- Install: -- Install path : D:/Libs/Caffe # 需要相同 -- -- Configuring done -- Generating done ......

得到上面的結果之后,刪除在build_win.cmd添加的那行exit /b 1,然后重新執行build_win.cmd,開始編譯依賴庫。編譯完成后,把下面的幾條加入環境變量Path。

%USERPROFILE%\.caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\bin %USERPROFILE%\.caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\lib %USERPROFILE%\.caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\x64\vc14\bin %USERPROFILE%\.caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\x64\vc14\lib %USERPROFILE%\.caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\x64\vc14\staticlib

5、編譯Caffe

打開caffe-windows\script\Caffe.sln,使用VS2015打開。把編譯模式切換為Release模式,然后右鍵單擊INSTALL子項目,右鍵單擊,選擇“生成”,然后就開始編譯Caffe了,編譯完會自動安裝到D:\Libs\Caffe。

編譯完成后,把D:\Libs\Caffe里面的bin、lib、matlab+caffe\private和matlab+caffe\private\Release加入到環境變量Path。下面是我添加的環境變量:

D:\Libs\Caffe\bin D:\Libs\Caffe\lib D:\Libs\Caffe\matlab\+caffe\private D:\Libs\Caffe\matlab\+caffe\private\Release

至此,caffe編譯完成。

三、使用Caffe

1、Matlab

在.m文件的最前面加入如下代碼:

PATH_TO_CAFFE_MATLAB='D:/Libs/Caffe/matlab/'; addpath(genpath(PATH_TO_CAFFE_MATLAB));

PATH_TO_CAFFE_MATLAB是前面install的安裝路徑。添加上面的代碼之后,Matlab就能找到Caffe。還有最關鍵的一步是,把D:\Libs\Caffe\matlab+caffe\private\Release\caffe_.mexw64復制到和.m文件同一級目錄下,否則會出現如下錯誤:

  • 在matlab中使用caffe接口

    經過編譯后,會生成build文件夾。在網上看的教程大多是在caffe的根目錄下生成,不過我的是在script/目錄下,即build_cmd同目錄下生成的。經過刪掉重新生成后,還是在script下,考慮到build里的很多設置是相對路徑,就不動了。

    在matlab中添加路徑


    里面添加caffe的matlab接口路徑

    現在,應該可以使用了,調整matlab當前路徑為caffe/matlab/demo/文件夾下,有claasification_demo.m文件可以進行測試,如果無錯即配置完成。

  • Caffe 深度學習框架是支持 opencl gpu 計算加速的,為了在 msys2/mingw 環境下可以工作我做了少量修改 ?https://github.com/zhujiang73/caffe-windows-opencl??下圖是基于 OpenCL Caffe 做的畫框識圖,我只有一塊入門級小顯卡 GPU 版程序的圖像識別速度是 CPU 版的三倍左右.?

    ????

    ?

    ?????綜合考慮開發效率,運行速度,和可移植性,選擇 msys2/mingw 作為開發環境,caffe 代碼的可移植性很好稍加修改就能在 mingw 環境下編譯。

    ??????msys2集成了unix 風格的shell 環境和 mingw 編譯工具,可以在windows 下寫 gcc 風格的程序, ?結合msys2/mingw 版的emacs 就是一個很好的開發環境。?http://msys2.github.io/?


    ?

    ?????這兩天剛搞好 caffe 的 python 接口,雖然我認為 msys2/mingw 比較好用,但是目前大多數軟件在 windows 下會優先考慮 msvc 可移植,由于mingw 是 gcc 但不是unix 是 win 但不是msvc 比較小眾,所以很多軟件在 mingw ?下需要做些修改才能編譯,我把修改過的 caffe msys2/mingw 版放在:https://github.com/zhujiang73/caffe-windows-opencl?支持 opencl gpu 加速,支持 python 接口,算是比較完整了。caffe 這個“深度學習工具”雖然比較老但是比較適合機器視覺任務,我目前只實驗了cnn 等比較經典的算法,下一步該實驗 rcnn 等改進算法了,caffe 的缺點是框架不太靈活可能需要定制一些模塊才能實現新算法。

?

總結

以上是生活随笔為你收集整理的windows下配置caffe-matlab接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。