此篇为了记录过程如题。
- linux下配置编译caffe网上资源很多。在make runtest和import caffe成功后进行本文的实验。
下载数据:
cd ~/caffe/
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
修改配置:
cd ~/caffe/
sudo gedit ./examples/mnist/lenet_solver.prototxt
修改:solver_mode: CPU
训练模型:
cd ~/caffe/
./examples/mnist/train_lenet.sh(log顺便记录下,下部分有)结果可视化:
caffe中其实已经自带了这样的小工具 caffe-master/tools/extra/parse_log.sh caffe-master/tools/extra/extract_seconds.py和 caffe-master/tools/extra/plot_training_log.py.example ,使用方法如下:
(1)新建自己的log文件,注意目录对应。在caffe下mkdir log;
在训练过程中的命令中加入一行参数 ,实现Log日志的记录:gedit ./examples/mnist/train_lenet.sh
写入:
LOG=log/train-date +%Y-%m-%d-%H-%M-%S
.log
CAFFE=~/caffe/build/tools/caffe
./build/tools/caffe train –solver=examples/mnist/lenet_solver.prototxt 2>&1 | tee LOG @
(2)解析训练日志
将最上面说的3个脚本文件拷贝到Log 文件夹下.
./parse_log.sh caffe.log (自己的名字)
后面的参数为log文件名,这样就会在当前文件夹下生成一个.train文件和一个.test文件
(3)生成图片
./plot_training_log.py.example 2 save.png caffe.log
就可以生成训练过程中的Test accuracy vs. Iters 曲线,其中0代表曲线类型, save.png 代表保存的图片名称。
caffe中支持很多种曲线绘制,通过指定不同的类型参数即可,具体参数如下:Notes:
1. Supporting multiple logs.
2. Log file name must end with the lower-cased “.log”.
Supported chart types:
0: Test accuracy vs. Iters
1: Test accuracy vs. Seconds
2: Test loss vs. Iters
3: Test loss vs. Seconds
4: Train learning rate vs. Iters
5: Train learning rate vs. Seconds
6: Train loss vs. Iters
7: Train loss vs. Seconds