1.數據集的下載與轉換
1)我們在mnist數據集上做測試,MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burge在這里下載這四個文件:
2)然后解壓生成了以下四個文件:
3)數據格式轉換
新建一個文本文檔,更改后綴為 .bat 在里面復制以下code:
..\..\Build\x64\Release\convert_mnist_data.exe ..\..\data\mnist\train-images.idx3-ubyte ..\..\data\mnist\train-labels.idx1-ubyte ..\..\examples\mnist\mnist_train_lmdb
echo.
..\..\Build\x64\Release\convert_mnist_data.exe ..\..\data\mnist\t10k-images.idx3-ubyte ..\..\data\mnist\t10k-labels.idx1-ubyte ..\..\examples\mnist\mnist_test_lmdb
pause
其實第一個路徑就是 exe文件所在路徑, 后面兩個就是數據所在路徑,最后一個是輸出文件路徑
例如:
F:\caffe-master\caffe-master\Build\x64\Release\convert_mnist_data.exe E:\caffetest\mnist\mnist\train-images.idx3-ubyte E:\caffetest\mnist\mnist\train-labels.idx1-ubyte E:\caffetest\mnist\mnist\mnist_train_lmdb
echo.
F:\caffe-master\caffe-master\Build\x64\Release\convert_mnist_data.exe E:\caffetest\mnist\mnist\t10k-images.idx3-ubyte E:\caffetest\mnist\mnist\t10k-labels.idx1-ubyte E:\caffetest\mnist\mnist\mnist_test_lmdb
pause
保存后,雙擊運行,生成了兩個文件夾:mnist_train_lmdb和mnist_test_lmdb
2.打開lenet_train_test.prototxt
然后打開lenet_solver.prototxt,修改第二行即可,
可以將prototxt文件放在以下的網址,查看網絡的結構:http://ethereon.github.io/netscope/#/editor
3.使用caffe.exe 訓練網絡
利用命令行cd到caffe.exe的工作目錄,輸入以下的命令:
caffe train -solver=lenet_solver.prototxt -gpu 0
可以得到以下的訓練結果:
4.使用Python調用caffe
環境:python+Anaconda;同時將編譯生成的python文件夾放在..\anaconda2\Lib\site-packages中。
import caffe caffe.set_mode_gpu() solver = caffe.SGDSolver('lenet_solver.prototxt') solver.solve()
運行代碼可以得到以下的結果: