caffe 学习笔记-模型训练与测试

来源:互联网 发布:cpu风扇转速软件 编辑:程序博客网 时间:2024/04/30 18:55

以LeNet 手写字体识别为例,首先进入caffe安装目录,并下载手写字体训练数据:

cd $CAFFE_ROOTsudo ./data/mnist/get_mnist.sh

将图片转换成lmdb文件:

sudo ./examples/mnist/create_mnist.sh

运行后得到 mnist_train_lmdb和mnist_test_lmdb.

/examples/mnist/lenet_solver.prototxt文件定义了训练参数,模型文件net,迭代次数max_iter,学习率base_lr等,solver_mode配置是否使用GPU:

# The train/test net protocol buffer definitionnet: "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.01momentum: 0.9weight_decay: 0.0005# The learning rate policylr_policy: "inv"gamma: 0.0001power: 0.75# Display every 100 iterationsdisplay: 100# The maximum number of iterationsmax_iter: 10000# snapshot intermediate resultssnapshot: 5000snapshot_prefix: "examples/mnist/lenet"# solver mode: CPU or GPUsolver_mode: GPU

训练:

sudo ./examples/mnist/train_lenet.sh

也可以直接执行训练命令:

./build/tools/caffe train –solver=examples/mnist/lenet_solver.prototxt

caffe输入参数train表示训练.

训练结果:

这里写图片描述

学习率更新,可以通过lr_policy: “multistep”实现,例如要实现在step值分别为 5000,7000,8000,9000,9500时,按照decay=0.9更新学习率,可以修改solver.ptototxt文件如下:

# The train/test net protocol buffer definitionnet: "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.01momentum: 0.9weight_decay: 0.0005# The learning rate policylr_policy: "multistep"gamma: 0.9stepvalue: 5000stepvalue: 7000stepvalue: 8000stepvalue: 9000stepvalue: 9500# Display every 100 iterationsdisplay: 100# The maximum number of iterationsmax_iter: 10000# snapshot intermediate resultssnapshot: 5000snapshot_prefix: "examples/mnist/lenet_multistep"# solver mode: CPU or GPUsolver_mode: GPU
阅读全文
0 0