在windows下绘制学习曲线。
1、获取训练日志文件
1)设置好solver.prototxt ,train_test.prototxt等配置文件
2)建立批处理文件(.bat),将输出至屏幕的训练信息,重定性至文件。
train.bat 配置如下:
e:
cd E:\deeplerning\caffe\caffe-windows\My //转换至工作目录,日志文件将保存在此目录
E:\deeplerning\caffe\caffe-windows\Build\x64\Release\caffe train --solver=E:\deeplerning\caffe\caffe-windows\examples\mnist\lenet_solver.prototxt >>test.txt 2>&1
注意:重定向的书写方式,此时屏幕将没有任何输出信息,都保存至 test.txt中了。
3)从日志文件中提取信息。
在caffe的目录【caffe-windows\tools\extra】中有parse_log.py 文件,利用它可以从日志文件中提取参数信息。(需要安装python)
在cmd窗口输入如下命令行:
python parse_log.py test.txt ./
输出:test.txt.test,test.txt.train两个文件
2、读取参数并绘图
利用matlab读取测试
function drawResult()
test_name='state.log.test';
train_name='state.log.train';
figure(),hold on
[Iters,Seconds,LearningRate,loss]=textread(train_name,'%f%f%f%f','delimiter', ',','headerlines',);
plot(Iters,loss,'r');
[Iters,Seconds,LearningRate,accuracy,loss]=textread(test_name,'%f%f%f%f%f','delimiter', ',','headerlines',);
plot(Iters,loss,'g');
plot(Iters,accuracy,'b');
xlabel('Iters');
ylabel('loss/accuracy');
legend('trianLoss','testLoss','testAccuracy');
hold off
end
结果展示: