caffe學習筆記1-win10安裝與測試mnist
windows下caffe的安裝有些麻煩,我折騰了一天終於安裝好caffe並且成功測試了mnist,在此期間遇到了不少坑,特此記錄一下。
安裝caffe
caffe的安裝方式一直在變化,我安裝的時候發現不少部落格寫的東西已經有些過時了,所以建議大家在安裝的時候最好參考官方的安裝說明。
官方安裝說明https://github.com/BVLC/caffe/tree/windows
我的環境:win10,VS2013,gtx1060
需求
- visual studio 2013 或2015
- CMake 3.4以上版本
- CUDA 7.5或8.0(VS2015只能用8.0)
- cuDNN v5
- Anaconda Python 2.7 or 3.5 x64 (or Miniconda)
最後在官方github上下載caffe
安裝
- 修改配置檔案,開啟你下載的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檔案。
如果再次失敗,你可以仔細看看我剛才提到的幾個指令碼檔案,分析一下哪裡還有問題。
- build成功,然後開啟scripts\build\,裡面就會多出一個VS專案,開啟caffe.sln檔案,點選生成-生成解決方案,
- 在build\tools\release下可以發現caffe.exe檔案
- 結束
安裝python介面 - 安裝必要的包
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. 結束