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

歡迎訪問 生活随笔!

生活随笔

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

windows

windows7+visual studio 2013+CUDA7.5 编译caffe+配置matcaffe+配置pycaffe

發布時間:2024/9/21 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows7+visual studio 2013+CUDA7.5 编译caffe+配置matcaffe+配置pycaffe 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

經過朋友指導,終于成功在windows7上成功編譯了caffe,這里將編譯過程記錄

  • 安裝文件準備
    • 1 visual studio 2013安裝包下載
    • 2 CUDA75 optional
    • 3 windows版本caffe
    • 4 下載cuDNN optional
    • 5 下載Anaconda安裝包 optional
    • 6 下載Matlab安裝包 optional
  • 安裝visual studio 2013
  • 安裝cuda75 optional
  • 利用Anaconda安裝python optional
  • 安裝matlab optional
  • 修改配置文件
    • 1 解壓縮下載的caffe-windows文件
    • 2 進入到windows文件夾
    • 3 復制配置文件并重命名
    • 4 修改配置文件修改工程的屬性文件
      • 41 配置文件說明
      • 42 非CUDA版本的caffe
      • 43 CUDA版本的caffe
  • 編譯caffe
    • 1 打開名稱為Caffe的解決方案
    • 2 編譯libcaffe項目
    • 3 編譯caffe項目
    • 4 編譯pycaffe
    • 5 編譯matcaffe
    • 6 編譯其他項目
  • 運行第一個caffe測試程序
  • 配置python optional
  • 配置matlab optional

1. 安裝文件準備

1.1 visual studio 2013安裝包下載

  • 進入visual studio下載頁
  • 選擇Visual Studio 2013–>Ultimate 2013版–>簡體中文iso文件–>下載?

1.2 CUDA7.5 (optional)

如果不需要cuda版本的caffe,本步跳過

  • 下載地址:?
    nvidia官網的cuda-toolkit-archive?

    …?

1.3 windows版本caffe

  • 下載地址為GitHub的caffe windows版本
  • 一定要注意,brand那里選擇windows?

1.4 下載cuDNN (optional)

  • 如果不需要配置cuDNN,該步請跳過
  • 從nVidia官網下載cuDNN v3或者是cuDNN v4,注意,需要注冊才能下載?
    下載后解壓縮,如下圖所示?

1.5 下載Anaconda安裝包 (optional)

  • 該安裝包是用來安裝python的,從而可以配置pycaffe
  • 這里選擇的是利用Anaconda的方法按照python,所以才需要下載Anaconda安裝包,當然,也可以按照其他的方法安裝
  • 如果不需要配置pycaffe,該步請跳過
  • 一般情況下,可能大家的機器上都已經安裝了python,那么,也請跳過該步
  • Anaconda安裝包下載地址:https://www.continuum.io/downloads

1.6 下載Matlab安裝包 (optional)

  • 該安裝包是用來安裝matlab的,從而可以配置matcaffe
  • 如果不需要配置matcaffe ,該步請跳過
  • 一般情況下,可能大家的機器上都已經安裝了matlab,那么,也請跳過該步
  • matlab下載地址這里就不列出了,請自行尋找

2.安裝visual studio 2013

具體安裝方法見:?安裝visual studio 2013

3.安裝cuda7.5 (optional)

  • 如果不需要cuda版本的caffe,本部分可以跳過

  • 安裝方法與theano安裝(二)windows安裝visual studio 2010及cuda中的cuda安裝方法一致,只不過是版本號不同而已

4. 利用Anaconda安裝python (optional)

如果你的本機沒有安裝Python,并且你需要配置pycaffe,那么,請按照win7系統安裝python,并按照Pycharm集成開發環境安裝python

安裝完python后,再安裝一下protobuf,因為后面編譯pycaffe時有需要:

  • 利用pip工具安裝protobuf:pip install protobuf?

5. 安裝matlab (optional)

如果你的本機沒有安裝matlab ,并且你需要配置matcaffe,那么,請安裝matlab,具體安裝方法請自行查閱

6.修改配置文件

在github上下載的window caffe把呢你自帶一個配置文件的例子,在進行編譯之前,需要先更改該文件內容

6.1 解壓縮下載的caffe-windows文件

這里假設caffe-windows被解壓到了如下的文件夾中?

6.2 進入到windows文件夾

6.3 復制配置文件,并重命名

將該文件夾(即.\windows)下的CommonSettings.props.example文件復制一份兒,并將復制的文件命名為CommonSettings.props?
-?

6.4 修改配置文件(修改工程的屬性文件)

6.4.1 配置文件說明

  • caffe-windows自帶的配置文件CommonSettings.props.example中與我們后面要進行的編譯密切相關的就是如下部分?

  • 例子中所有配置參數都是默認值

  • CpuOnlyBuild:是否使用CPU

    • 默認值為False(即使用GPU編譯)
    • 如果本機沒有配置好CUDA,那么,該值應該賦值為True;
    • 如果本機已經配置好CUDA,并且需要編譯CUDA版本的caffe,那么,該值應該賦值為True、
  • UseCuDNN:是否使用CuDNN

    • 默認值為True;
    • 如果本機沒有配置好CUDA,那么,該值應該賦值為False;
    • 注意:CpuOnlyBuild和CuDNN不能同時為True;
    • 如果這里設置為True,那么還需要對<CuDnnPath></CuDnnPath>賦值,即下載的CuDNN的路徑
  • CudaVersion:CUDA的版本

  • PythonSupport:是否支持python

    • 默認值為False,即后續不編譯pycaffe;
    • 如果需要編譯pycaffe,那么該值設置為True
    • 如果這里設置為true,那么還需要對?<PythonDir>C:\Miniconda2\</PythonDir>賦值?
      • 上面的值是默認的,應該修改為本機的python安裝路徑,也就是python.exe所在路徑,例如,本機是利用Anaconda安裝的python,路徑如下:D:\program file\Anaconda2?,那么,應該令?<PythonDir>D:\program file\Anaconda2</PythonDir>?
  • MatlabSupport:是否支持matlab

    • 默認值為False;
    • 如果需要編譯matcaffe,那么該值設置為True
    • 如果該值設置為true,那么還需要對<MatlabDir>C:\Program Files\MATLAB\R2014b</MatlabDir>進行賦值:?
      • 上面的路徑是默認的,需要更改為本機的matlab安裝目錄,例如,本機的matlab安裝路徑如下:D:\Program Files\MATLAB\R2014b,那么,<MatlabDir>D:\Program Files\MATLAB\R2014b</MatlabDir>?

6.4.2 非CUDA版本的caffe

配置文件部分設置如下:

<PropertyGroup Label="UserMacros"><BuildDir>$(SolutionDir)..\Build</BuildDir><!--NOTE: CpuOnlyBuild and UseCuDNN flags can't be set at the same time.--><CpuOnlyBuild>true</CpuOnlyBuild><UseCuDNN>false</UseCuDNN><CudaVersion>7.5</CudaVersion><!-- NOTE: If Python support is enabled, PythonDir (below) needs to beset to the root of your Python installation. If your Python installationdoes not contain debug libraries, debug build will not work. --><PythonSupport>false</PythonSupport><!-- NOTE: If Matlab support is enabled, MatlabDir (below) needs to beset to the root of your Matlab installation. --><MatlabSupport>false</MatlabSupport><CudaDependencies></CudaDependencies><!-- Set CUDA architecture suitable for your GPU.Setting proper architecture is important to mimize your run and compile time. --><CudaArchitecture>compute_35,sm_35;compute_52,sm_52</CudaArchitecture><!-- CuDNN 3 and 4 are supported --><CuDnnPath></CuDnnPath><ScriptsDir>$(SolutionDir)\scripts</ScriptsDir></PropertyGroup><PropertyGroup Condition="'$(CpuOnlyBuild)'=='false'"><CudaDependencies>cublas.lib;cuda.lib;curand.lib;cudart.lib</CudaDependencies></PropertyGroup><PropertyGroup Condition="'$(UseCuDNN)'=='true'"><CudaDependencies>cudnn.lib;$(CudaDependencies)</CudaDependencies></PropertyGroup><PropertyGroup Condition="'$(UseCuDNN)'=='true' And $(CuDnnPath)!=''"><LibraryPath>$(CuDnnPath)\cuda\lib\x64;$(LibraryPath)</LibraryPath><IncludePath>$(CuDnnPath)\cuda\include;$(IncludePath)</IncludePath></PropertyGroup><PropertyGroup><OutDir>$(BuildDir)\$(Platform)\$(Configuration)\</OutDir><IntDir>$(BuildDir)\Int\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir></PropertyGroup><PropertyGroup><LibraryPath>$(OutDir);$(CUDA_PATH)\lib\$(Platform);$(LibraryPath)</LibraryPath><IncludePath>$(SolutionDir)..\include;$(SolutionDir)..\include\caffe\proto;$(CUDA_PATH)\include;$(IncludePath)</IncludePath></PropertyGroup><PropertyGroup Condition="'$(PythonSupport)'=='true'"><PythonDir>C:\Miniconda2\</PythonDir><LibraryPath>$(PythonDir)\libs;$(LibraryPath)</LibraryPath><IncludePath>$(PythonDir)\include;$(IncludePath)</IncludePath></PropertyGroup><PropertyGroup Condition="'$(MatlabSupport)'=='true'"><MatlabDir>C:\Program Files\MATLAB\R2014b</MatlabDir><LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPath><IncludePath>$(MatlabDir)\extern\include;$(IncludePath)</IncludePath></PropertyGroup>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

6.4.3 CUDA版本的caffe

配置文件部分設置如下:

<PropertyGroup Label="UserMacros"><BuildDir>$(SolutionDir)..\Build</BuildDir><!--NOTE: CpuOnlyBuild and UseCuDNN flags can't be set at the same time.--><CpuOnlyBuild>false</CpuOnlyBuild><UseCuDNN>ture</UseCuDNN><CudaVersion>7.5</CudaVersion><!-- NOTE: If Python support is enabled, PythonDir (below) needs to beset to the root of your Python installation. If your Python installationdoes not contain debug libraries, debug build will not work. --><PythonSupport>true</PythonSupport><!-- NOTE: If Matlab support is enabled, MatlabDir (below) needs to beset to the root of your Matlab installation. --><MatlabSupport>true</MatlabSupport><CudaDependencies></CudaDependencies><!-- Set CUDA architecture suitable for your GPU.Setting proper architecture is important to mimize your run and compile time. --><CudaArchitecture>compute_35,sm_35;compute_52,sm_52</CudaArchitecture><!-- CuDNN 3 and 4 are supported --><CuDnnPath>D:\software\caffe-vs\cuda-cuDNN</CuDnnPath><ScriptsDir>$(SolutionDir)\scripts</ScriptsDir></PropertyGroup><PropertyGroup Condition="'$(CpuOnlyBuild)'=='false'"><CudaDependencies>cublas.lib;cuda.lib;curand.lib;cudart.lib</CudaDependencies></PropertyGroup><PropertyGroup Condition="'$(UseCuDNN)'=='true'"><CudaDependencies>cudnn.lib;$(CudaDependencies)</CudaDependencies></PropertyGroup><PropertyGroup Condition="'$(UseCuDNN)'=='true' And $(CuDnnPath)!=''"><LibraryPath>$(CuDnnPath)\cuda\lib\x64;$(LibraryPath)</LibraryPath><IncludePath>$(CuDnnPath)\cuda\include;$(IncludePath)</IncludePath></PropertyGroup><PropertyGroup><OutDir>$(BuildDir)\$(Platform)\$(Configuration)\</OutDir><IntDir>$(BuildDir)\Int\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir></PropertyGroup><PropertyGroup><LibraryPath>$(OutDir);$(CUDA_PATH)\lib\$(Platform);$(LibraryPath)</LibraryPath><IncludePath>$(SolutionDir)..\include;$(SolutionDir)..\include\caffe\proto;$(CUDA_PATH)\include;$(IncludePath)</IncludePath></PropertyGroup><PropertyGroup Condition="'$(PythonSupport)'=='true'"><PythonDir>D:\File Program\Anaconda\</PythonDir><LibraryPath>$(PythonDir)\libs;$(LibraryPath)</LibraryPath><IncludePath>$(PythonDir)\include;$(IncludePath)</IncludePath></PropertyGroup><PropertyGroup Condition="'$(MatlabSupport)'=='true'"><MatlabDir>D:\File Program\Matlab\</MatlabDir><LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPath><IncludePath>$(MatlabDir)\extern\include;$(IncludePath)</IncludePath></PropertyGroup>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

注:事實上,對cuDNN路徑的配置有兩種方案:?
- 方案1:將cuDNN v4的壓縮包內的bin、include、lib中的文件分別放置在%CUDA_PATH% (即cuda的安裝路徑)的相應目錄中?
- 方案2:將 .\windows\CommonSettings.props文件中的CuDnnPath設置為該解壓縮路徑,例如,將cuDNN解壓后文件放置在D:\software\caffe-vs\cuda-cuDNN中,那么,在CommonSettings.props中,令<CuDnnPath>D:\software\caffe-vs\cuda-cuDNN\</CuDnnPath>,即上面提到的方法

7 編譯caffe

7.1 打開名稱為Caffe的解決方案

利用VS2013打開名稱為Caffe的解決方案?

7.2 編譯libcaffe項目

  • 首先編譯libcaffe項目(其他的項目依賴于libcaffe項目)

  • 右鍵libcaffe,選擇生成,開始編譯libcaffe?

    …?
    ?

  • 還原NuGet包,即從網絡下載編譯需要的各種依賴包?

  • 經過一段時間等待后,編譯成功?

  • 這里有兩個需要注意的地方:?
    (1)編譯過程中,可能會出現錯誤?
    error C2220: 警告被視為錯誤 - 沒有生成“object”文件?

    ?
    錯誤的原因是編譯過程中出現了警告,而導致編譯無法進行,此時,需要進行如下修改:?
    ?
    即:設置項目屬性,不要將警告視為錯誤?
    右鍵->項目屬性->C/C++->常規->將警告視為錯誤 設為否?
    另外,有一次在另外一個機器上出現了同樣的問題,但按照上述方法卻未解決,是因為文件的代碼頁為英文,而我的系統中的代碼頁為中文,解決方案:利用VS打開出錯的文件->重新保存->重啟vs->重新編譯libcaffe->問題解決。?
    (2)caffe編譯過程中,需要一些依賴包,在有網絡的情況下,當編譯第一個項目libcaffe時,程序會自動從網路下載這些依賴包,下載到與caffe-windows文件夾同級的NugetPackages文件夾中,下圖所示即為程序自動下載的依賴包?

    但在沒有網絡情況下,需要事先將這些依賴包下載好,并將它們的路徑在vs的管理NuGet程序包中進行設置:工具->選項->NuGet Package Manager->程序包源->利用右側的加號添加本地的package?

    …?

    手動添加這些package地址后,還需要手動對這些NuGet Package進行安裝?
    (3)另外,第二次編譯過程出現如下錯誤?
    ?
    發現是下載的NegetPackages\glog.0.3.3.0下載缺少兩個文件:

    • glog.overlay-x64_v120_Release_dynamic.0.3.3.0
    • glog.overlay-x64_v120_Debug_dynamic.0.3.3.0?
      將第一次下載得到的這兩個文件放入該文件夾,問題解決?
      注:這里的“第一次下載得到的這兩個文件”是指NugetPackages中的glog.0.3.3.0文件夾下的兩個文件,見下圖?

7.3 編譯caffe項目

同樣,在caffe項目處右鍵生成

7.4 編譯pycaffe

直接在項目pycaffe右鍵,點擊生成即可

7.5 編譯matcaffe

直接在項目matcaffe右鍵,點擊生成即可

  • 第二次在編譯matcaffe時,出現如下錯誤:?

    • 即編譯matcaffe提示說找不到mex.h
    • 將matlab_root/extend/include目錄添加到matcaffe項目的include目錄中,問題解決
  • 上面這個問題解決后,又出現了另外一個錯誤?

    • 即鏈接器找不到libmx.lib(matlab的靜態鏈接庫),查看VC++庫目錄,沒有發現設置問題?
    • 不知道為什么會這樣, 想了一個臨時的解決方便,將matlab安裝路徑下的\extern\lib\win64\microsoft添加到matcaffe項目->鏈接器->常規->附加目錄中,然后再次編譯,成功;這是因為編譯程序無法找到matlab的相關靜態鏈接庫的原因;
  • 后來經過仔細查詢,發現,原來是因為配置文件CommonSettings中的matlabDir不小心填寫錯誤了,才會導致上面兩個問題!將此處改正,上面2個問題成功解決,matcaffe編譯成功

<PropertyGroup Condition="'$(MatlabSupport)'=='true'"><MatlabDir>D:\Program Files\MATLAB\R2014b</MatlabDir><LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPath><IncludePath>$(MatlabDir)\extern\include;$(IncludePath)</IncludePath></PropertyGroup>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

7.6 編譯其他項目

接下來,再依次編譯其他項目,同樣的方法

  • classification:用來分類
  • compute_image_mean:計算均值
  • convert_cifar_dat:對cifat數據集進行轉換
  • convert_mnist_data:對mnist數據集進行轉換

8.運行第一個caffe測試程序

為了測試編譯好的caffe能否正常使用,需要進行測試,主要利用mnist數據集進行分類問題的測試

(1)下載測試數據集?

(2)修改配置文件?
進入文件夾D:\software\caffe-vs\caffe-windows\examples\mnist,即examples路徑下的mnist文件夾?

① 打開lenet_solver.prototxt?
設置網絡配置文件路徑,這里使用了絕對路徑,相對路徑還沒有嘗試?

② 打開lenet_train_test.prototxt?

(3)運行caffe程序,具體地?
① 打開cmd命令行,cd到caffe-windows的.\Build\x64\Debug路徑下,在該路徑下,可以直接執行caffe.exe?
D:\software\caffe-vs\caffe-windows\Build\x64\Debug?
?
或者,為了方便,可以將caffe的路徑添加到環境變量Path中,這樣,cmd就可以直接識別caffe命令了?

② 運行caffe

caffe train -solver lenet_solver.prototxt
  • 1
  • 1

注意,因為上一步已經將D:\software\caffe-vs\caffe-windows\Build\x64\Debug路徑添加到環境變量PATH中了,所以,這里可以直接使用caffe.exe


下面兩步主要配置cuDnn、python和matlab,具體配置時,應該在4.5之前進行

9. 配置python (optional)

如果已經編譯好pycaffe,那么,為了能夠在python使用caffe,還需要在python中進行一些相關配置

  • 添加環境變量?
    • 在環境變量的用戶變量中,新建用戶變量,變量名“PythonPath”,變量值“caffe_root\Build\x64\Release\pycaffe”
    • 或者將文件夾\Build\x64\Release\pycaffe\caffe 復制到\lib\site-packages.

10.配置matlab (optional)

如果已經編譯好matcaffe,那么,為了能夠在matlab使用caffe,還需要在matlab中進行一些相關配置

  • 添加環境變量

    • 將<caffe_root>\Build\x64\Release\matcaffe路徑添加到matlab的搜索路徑中
    • 將<caffe_root>\Build\x64\Release路徑添加到環境變量PATH中

    After you have built solution with Matlab support, in order to use it you have to:

    add the generated matcaffe folder to Matlab search path, and?
    add \Build\x64\Release to your system path.


最后來張圖


注:發現一篇寫的比較好的博客?
http://m.blog.csdn.net/article/details?id=50819464

總結

以上是生活随笔為你收集整理的windows7+visual studio 2013+CUDA7.5 编译caffe+配置matcaffe+配置pycaffe的全部內容,希望文章能夠幫你解決所遇到的問題。

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