运行环境 Ubuntu14.04.4
MNIST数据集是大型的手写数字数据库,60000个训练集和10000个测试集。
一、下载MNIST数据集
cd /home/***/caffe/data/mnist
./get_mnist.sh
二、格式转换
下载的原始数据集为二进制文件,需要转化成LEVELDB或LMDB才能被Caffe识别。
cd /home/***/caffe/example/mnist
./create_mnist.sh
如果没有修改create_mnist.sh文件的话,会出现下面的情况:
说明路径出现问题,要对
create_mnist.sh做如下修改:
更改EXAMPLE,DATA,BUILD为绝对路径
然后再次运行
./
create_mnist
.
sh,
得到结果:
说明已经改好了,浏览所在的目录 example/mnist,发现生成了mnist_train_lmdb/和mnist_test_lmdb两个目录,每个目录下都有两个文件:data.mdb和lock.mdb。接下来可以训练
三、训练
./train_lenet.sh
直接在终端输入会出现下面的情况:无法找到路径。
对train_lenet.sh做如下的修改:修改路径为绝对路径
再次输入命令进行训练得到如下结果:
发现问题,还是出现路径的问题,这次修改lenet_solver.prototxt文件
特别注意最后一行的CPU/GPU模式
# The train/test net protocol buffer definition
net: "/home/neutech/caffe/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