1. 程式人生 > >caffe學習筆記1-win10安裝與測試mnist

caffe學習筆記1-win10安裝與測試mnist

windows下caffe的安裝有些麻煩,我折騰了一天終於安裝好caffe並且成功測試了mnist,在此期間遇到了不少坑,特此記錄一下。

安裝caffe

caffe的安裝方式一直在變化,我安裝的時候發現不少部落格寫的東西已經有些過時了,所以建議大家在安裝的時候最好參考官方的安裝說明。
官方安裝說明https://github.com/BVLC/caffe/tree/windows

我的環境:win10,VS2013,gtx1060

需求

  1. visual studio 2013 或2015
  2. CMake 3.4以上版本
  3. CUDA 7.5或8.0(VS2015只能用8.0)
  4. cuDNN v5
  5. Anaconda Python 2.7 or 3.5 x64 (or Miniconda)
  6. 最後在官方github上下載caffe

    安裝

  7. 修改配置檔案,開啟你下載的caffe根目錄,進入\scripts,找到build_win.cmd,開啟(建議用notepad++什麼的開啟,不要用notepad)。找到如下這段
) else (
    :: Change the settings here to match your setup
    :: Change MSVC_VERSION to 12 to use VS 2013
    if NOT DEFINED MSVC_VERSION set MSVC_VERSION=12
    :: Change to 1 to use Ninja generator (builds much faster)
    if
NOT DEFINED WITH_NINJA set WITH_NINJA=0 :: Change to 1 to build caffe without CUDA support if NOT DEFINED CPU_ONLY set CPU_ONLY=0 :: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configs if
NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release :: Change to 1 to build a caffe.dll if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 :: Change to 3 if using python 3.5 (only 2.7 and 3.5 are supported) if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=2 :: Change these options for your needs. if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 :: If python is on your path leave this alone if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python :: Run the tests if NOT DEFINED RUN_TESTS set RUN_TESTS=0 :: Run lint if NOT DEFINED RUN_LINT set RUN_LINT=0 :: Build the install target if NOT DEFINED RUN_INSTALL set RUN_INSTALL=0 )

按照提示與你本身的環境,修改VS版本,是否使用ninja,是否使用gpu等,

儲存退出執行該檔案。
然後。。。一般你是會失敗的,因為在構建過程中cmake會從網上下一些依賴庫,但是由於中國網路原因,它連線不上,於是就失敗了,
我們開啟caffe根目錄下的CMakeLists.txt,搜尋download關鍵字,會發現這樣一句話

include(cmake/WindowsDownloadPrebuiltDependencies.cmake)

根據提示,開啟根目錄下的cmake目錄,找到WindowsDownloadPrebuiltDependencies.cmake檔案。開啟,發現它在開頭就定義了幾個下載連線,然後你根據你自己的配置需求,下載相應的連結,但注意,這幾個連線你依然很難直接下載,你可以買個迅雷會員下載,或者買個VPN(如果你有VPN的話,直接執行那個cmd檔案應該就可以成功了),或者你上網找找有沒有連線所指向的那個檔案。下好後最好校驗一下雜湊值,下載連線下面就由檔案雜湊值。
然後將檔案複製到scripts\build\目錄下。再次執行cmd檔案。
如果再次失敗,你可以仔細看看我剛才提到的幾個指令碼檔案,分析一下哪裡還有問題。

  1. build成功,然後開啟scripts\build\,裡面就會多出一個VS專案,開啟caffe.sln檔案,點選生成-生成解決方案,
  2. 在build\tools\release下可以發現caffe.exe檔案
  3. 結束
    安裝python介面
  4. 安裝必要的包
conda install --yes numpy scipy matplotlib scikit-image pip six
conda install --yes --channel willyd protobuf==3.1.0

這是官網給出的命令,但我更新protobuf的時候出了錯 ,後來使用pip安裝的
3. 複製根目錄下的\python\caffe資料夾到Anaconda\Lib\site-packages下面
4. 開啟python,import caffe測試一下

測試mnist

為方便起見,可以將caffe.exe的路徑加到系統的path中
1. 先從網上下載資料檔案mnist-test-leveldb、mnist-train-leveldb
2. 開啟跟目錄下的\examples\mnist將資料檔案複製進去,
3. 修改lenet_train_test.prototxt以及lenet_solver.prototxt兩個檔案,具體可以看下面這個部落格http://www.cnblogs.com/NanShan2016/p/5469942.html,注意資料地址與資料格式的修改,還要注意資料檔名字的問題,我就在這被坑了好久,資料檔案的名字是mnist-test-leveldb、mnist-train-leveldb,用的是連字元-,而在lenet_train_test.prototxt中指定的資料卻是mnist_test_leveldb、mnist_train_leveldb,用的時下劃線,要注意這一點。
4. 在當前目錄開啟命令提示符,輸入caffe train --solver=lenet_solver.prototxt
5. 結束