【caffe】Windows下使用GPU版caffe训练minist网络模型
Caffe的GPU版训练minist模型步骤
1.下载训练数据。
2.将训练数据生成lmdb文件
1)建立下面两个脚本文件,用来将上面的4个数据转换为lmdb文件。
其中脚本文件中的内容如下:
文件:convert-mnist-data-test.bat
..\..\..\Build\x64\Release\convert_mnist_data.exe --backend=lmdb t10k-images.idx3-ubyte t10k-labels.idx1-ubyte mnist_test_lmdb
Pause
文件:convert-mnist-data-train.bat
..\..\..\Build\x64\Release\convert_mnist_data.exe --backend=lmdb train-images.idx3-ubyte train-labels.idx1-ubyte mnist_train_lmdb
pause
2)运行上面两个脚本文件后,得到两个lmdb文件夹。
其中一个文件夹中包含下面两个文件:
3.然后建立启动训练的脚本文件。
脚本文件中的内容如下:
..\..\..\Build\x64\Release\caffe.exe train --solver=../lenet_solver.prototxt
pause
注意:记住下面两个文件中会涉及一些读取lmdb等其他文件的路径,此处最好改成自己电脑中的静态路径,以免出现问题。(路径不对,会导致许多问题)
文件:lenet_solver.prototxt
# The train/test net protocol buffer definition
net: "G:/caffe-master/examples/mnist/lenet_train_test.prototxt"
# test_iter specifies how many forward passes the test should carry out.
# In the case of MNIST, we have test batch size 100 and 100 test iterations,
# covering the full 10,000 testing images.
test_iter: 100
# Carry out testing every 500 training iterations.
test_interval: 500
# The base learning rate, momentum and the weight decay of the network.
base_lr: 0.01
momentum: 0.9
weight_decay: 0.0005
# The learning rate policy
lr_policy: "inv"
gamma: 0.0001
power: 0.75
# Display every 100 iterations
display: 100
# The maximum number of iterations
max_iter: 10000
# snapshot intermediate results
snapshot: 5000
snapshot_prefix: "G:/caffe-master/examples/mnist/lenet"
# solver mode: CPU or GPU
solver_mode: GPU
文件:lenet_train_test.prototxt (此处只展示了前面带有文件路径的代码,后面的网络省略)
name: "LeNet"
layer {
name: "mnist"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
scale: 0.00390625
}
data_param {
source: "G:/caffe-master/examples/mnist/mycaffe-mnist-test/mnist_train_lmdb"
batch_size: 64
backend: LMDB
}
}
layer {
name: "mnist"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
scale: 0.00390625
}
data_param {
source: "G:/caffe-master/examples/mnist/mycaffe-mnist-test/mnist_test_lmdb"
batch_size: 100
backend: LMDB
}
}
所有内容设置成功的话,运行run_caffe_mnist.bat文件就会进行minist模型训练,训练过程显示窗口如下:
网络模型训练好了以后可以得到以下两个文件:
其中.caffemodel保存了caffe模型中的参数,*solverstate*文件保存了训练过程中的一些中间结果。
训练过程大概就是如此吧。