1. 程式人生 > >Windows平臺基於Caffe框架的LeNet網路訓練

Windows平臺基於Caffe框架的LeNet網路訓練

在Windows平臺下使用Caffe的確不如Linux來的方便,至少人家把Shell都已經寫好了。但是像我這種VS重度依賴者,還是離不開微軟大腿呀…廢話不多說,一步步來吧


0. 為了後續檔案路徑訪問的便利,我們先將$CAFFE_ROOT根目錄新增到作業系統環境變數PATH中,並重啟使之生效。


1. 首先需要從Yann LeCun的網站 http://yann.lecun.com/exdb/mnist/  上下載手寫數字影象庫,共為四個壓縮包約11MB大小,分別是train-images-idx3-ubyte.gz(訓練集影象),train-labels-idx1-ubyte.gz(訓練集標籤),t10k-images-idx3-ubyte.gz(測試集影象)和t10k-labels-idx1-ubyte.gz(測試集標籤)。並將其解壓縮至Caffe目錄下的$CAFFE_ROOT\data\mnist資料夾中。


2. 然後我們需要將解壓縮後的四個檔案轉為Caffe所支援的lmdb檔案,轉換需要使用到編譯好的convert_mnist_data.exe可執行檔案。由於Windows不能執行Caffe提供的Shell檔案,在此將其修改為bat批處理檔案內容如下:

@echo off

rd /s /q mnist_test_lmdb
rd /s /q mnist_train_lmdb

convert_mnist_data.exe data\mnist\train-images.idx3-ubyte data\mnist\train-labels.idx1-ubyte examples\mnist\mnist_train_lmdb

convert_mnist_data.exe data\mnist\t10k-images.idx3-ubyte data\mnist\t10k-labels.idx1-ubyte examples\mnist\mnist_test_lmdb

pause

將bat檔案放在$CAFFE_ROOT\examples\mnist目錄下雙擊執行,轉換成功如下圖所示:



3. 這時準備工作就已經就緒,我們可以開始對資料集進行訓練了。

@echo off

caffe train --solver=examples/mnist/lenet_solver.prototxt

pause


或者我們可以在Visual Studio中更改工程屬性,配置除錯命令引數,



執行批處理檔案或直接在Visual Studio中執行除錯,Caffe就執行起來了。在NVIDIA Geforce GTX970機器上,LeNet迭代10000次大約只需要1分鐘就訓練好了(在Ubuntu系統上訓練時間更短,只需要30s左右,原因是Linux版cuDNN效率更高),結果如下圖所示