準備
- CUDA7.5:GPU加速運算平臺
- 對應版本的cuDNN:用於深度學習加速,需要郵箱註冊
- caffe-windows:Caffe的源碼
- MNIST測試數據集:手寫數字
- VS2013-NuGET拓展包或者直接下載
http://pan.baidu.com/s/1qYpg3bY,提取碼f2zx。將已經下載好的NugetPackages文件夾,和並放到和caffe-windows文件夾的同級目錄下
配置
- 安裝CUDA7.5,選擇了其他的目錄,但是最後還是在
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
- 將cuDNN裏面的三個文件夾複製合併到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
- 解壓caffe-windows,將
.\windows\CommonSettings.props.example
備份並改名爲CommonSettings.props - 用VS2013打開
caffe-windows\windows\Caffe.sln
配置改爲release
VS->項目->屬性->配置屬性->C/C++->常規->將警告視爲錯誤修改爲“否” - 安裝NuGet.tools,生成->生成解決方案
編譯完成後的所有文件都在..caffe-windows\Build\x64\Release目錄下,如果需要在別的機器上使用的話,只需要將Release文件夾拷貝過去即可,不需要再重新編譯一遍
測試
- 將數據集mnist的4個解壓後的文件放到
. \examples\mnist\mnist_data
文件夾下。 新建bat文件
(1)將訓練數據轉換成lmdb格式
D:\Study\Caffe\caffe-windows\Build\x64\Release\convert_mnist_data.exe
--backend=lmdb
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\train-images.idx3-ubyte
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\train-labels.idx1-ubyte
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\mnist_train_lmdb
pause
ps:換行是爲了方便觀看,每條指令以空格分開。
(2)將測試數據轉換成lmdb格式
D:\Study\Caffe\caffe-windows\Build\x64\Release\convert_mnist_data.exe
--backend=lmdb
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\t10k-images.idx3-ubyte
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\t10k-labels.idx1-ubyte
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\mnist_test_lmdb
Pause
convert_mnist_data.exe的命令格式爲:
convert_mnist_data [FLAGS] input_image_file input_label_file output_db_file
[FLAGS]:轉換的文件格式可取leveldb或lmdb,示例:–backend=leveldb
Input_image_file:輸入的圖片文件,示例:train-images.idx3-ubyte
input_label_file:輸入的圖片標籤文件,示例:train-labels.idx1-ubyte
output:保存輸出文件的文件夾,示例:mnist_train_lmdb將轉換後的數據集文件夾放到
D:\Study\Caffe\caffe-windows\examples\mnist
新建mnist-run.bat文件
D:\Study\Caffe\caffe-windows\Build\x64\Release\caffe.exe
train
--solver=D:\Study\Caffe\caffe-windows\examples\mnist\lenet_solver.prototxt
pause
這裏可能會因爲路徑的問題報錯,先說一下解決方法:
主要在lenet_solver.prototxt 和 lenet_train_test.prototxt 兩個文件。
修改後,將mnist-run.bat 放到 D:\Study\Caffe\caffe-windows\examples\mnist
目錄下運行
我試過將lenet_solver.prototxt 和 lenet_train_test.prototxt 兩個文件中的目錄採用絕對路徑,但還是會報錯,原因未知。
訓練成功的情況