caffe绘制loss曲线和accuracy曲线

绘制loss和accuracy曲线

  • 首先需要注意:不同版本的caffe训练的log日志不同,一定要用相对应的extra文件夹内的工具来进行解析log文件
  • 首先将extra文件夹拷贝到log文件夹内。
  • copy plot_training_log.py.example 将结尾去掉。
  • 需要将要解析的如caffe.sy.sy.log.INFO.20180105-142432.25764 重命名以log结尾的文件
  • 输入命令
    python plot_training_log.py 6 save.png ../caffe.sy.sy.INFO.20180105-142432.25764.log

    即可在当前文件夹内出现train和test文件。
    同时绘制了根据python参数 0 - 7不同的命令所控制的曲线类型。 0-3 test 4-7 train

踩了几个坑

File “plot_training_log.py”, line 191, in plot_chart(chart_type, path_to_png, path_to_l
list out of range …..

之后报错,主要是因为可以看到生成的log.test文件最后几行只有一个数据,即只有迭代次数,其他信息没有。
可能是由于ssd输出的log不一样。所以改了一下/home/sy/caffe-ssd/tools/extra/plot_training_log.py

def load_data(data_file, field_idx0, field_idx1):
    data = [[], []]
    with open(data_file, 'r') as f:
        for line in f:
            line = line.strip()
            #line = ','.join(filter(lambda x:x, line.split(' ')))
            if line[0] != '#':
                fields = line.split()
                print fields,field_idx1
                if(len(fields) >= 4):  ######################################
                    data[0].append(float(fields[field_idx0].strip()))
                    data[1].append(float(fields[field_idx1].strip()))
    return data

限定一下,只读符合规范的数据。
根本原因在parse这,但是精力有限就不修改了,治标就行了。
画train的时候可能还要改len(fields)等于其他值,自行print修改。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值