码迷,mamicode.com
首页 > 其他好文 > 详细

绘制loss曲线

时间:2017-06-21 15:15:25      阅读:375      评论:0      收藏:0      [点我收藏+]

标签:图片   定向   png   img   路径   代码   rate   生成   stl   

第一步保存日志文件,用重定向即可:

$TOOLS/caffe train --solver=$SOLVERFILE 2>&1 |tee out.log

第二步直接绘制:

python plot_training_log.py 2 testloss.png out.log

2是选择画哪种类型的图片,具体数字是代表哪个类型可以查看帮助信息看到:

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

testloss.png是生成图片的名字,要求必须是png类型的文件

out.log是之前生成的日志文件

 

有个教程让你先生成解析日志文件:

python parse_log.py out.log ./

注意最后一个是./,是保存的路径,最后会生成.train和.test两个文件。

实际上我觉得没有必要执行这一步,直接绘制曲线就好,绘制曲线中间也会生成这两个文件,因为plot_training_log.py本身要调用parse_log.py的shell脚本。并且生成的文件第一行是自带‘#‘,但是用这个解析生成的反而是不带的。

 

跑项目代码时,生成的日志文件有一点问题,一个正常的日志文件应该是这样:

技术分享

而我的日志文件是这样;

技术分享即在Iteration前我的日志文件没有I0619 10:29:45.757735  8944 solver.cpp:280] Solving deeplab_largeFOV 这句话,在parse_log.sh里有这样一句:grep ‘] Solving ‘ $1 > aux3.txt,要寻找 ‘] Solving ‘,如果没有,生成的aux3.txt就为空,

因为aux4.txt是由aux3.txt来的,这样就无法生成aux4.txt,也就报错说不能paste和rm aux4.txt。在extract_seconds.py中也是通过寻找sovling来确定开始时间的。如果单独用parse_log.py生成日志文件,不会报aux4.txt的错误,但会报extract_seconds.py

的错误。所以在Iteration 0前面一行加上没有这句话,就能解决问题。

 

中间

绘制loss曲线

标签:图片   定向   png   img   路径   代码   rate   生成   stl   

原文地址:http://www.cnblogs.com/ymjyqsx/p/7059280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!