caffe linux 输出日志,win10+python3+caffe填坑日志

阶段三——结果绘图:

调用caffe提供的工具读取模型训练的log,绘制结果图的时候,由于caffe提供的plot_training_log.py是按照python2的语法写的,所以应该:

1、将print语法改为python3.x带圆括号的那种,

2、将xrange改为range

除此之外,还会出现以下几个坑(不完全统计)。

坑3.1

报错:如图

5da5ec2727e0

位置:plot_training_log.py

原因1:问题在于plot_training_log.py中的return dirname + '/parse_log.sh'。这里的.sh文件是linux系统的shell命令,在windows上不能运行。

解决办法:将plot_training_log.py中的return dirname + '/parse_log.sh'改为return dirname + '/parse_log.py'。并将XX\caffe-windows\tools\extra中的parse_log.py拷贝到当前工作目录下。

坑3.2

报错:即使填好了坑3.1,依然会有以下报错:

5da5ec2727e0

原因:plot_traing_log.py中的os.system('%s %s' % (get_log_parsing_script(), path_to_log))生成的命令是一种在linux命令格式,不适用与windows

解决办法1:将plot_traing_log.py中的os.system('%s %s' % (get_log_parsing_script(), path_to_log))改为os.system('python %s %s %s'%("parse_log.py", "mnist_Lenet_train_test.log" ,"./"))

解决办法2:注释掉plot_training_log.py中的

os.system('%s %s' % (get_log_parsing_script(), path_to_log)),改为在cmd窗口手动执行 python parse_log.py mnist_Lenet_train_test.log ./

坑3.3

报错:TypeError: 'dict_keys' object does not support indexing

位置:plot_training_log.py 中的return lmarkers.keys()[idx]

原因:python2.x中,dict.keys()返回一个列表,在python3.x中,dict.keys()返回一个dict_keys对象,比起列表,对象的行为更像是set,所以不支持索引

解决方法:将markers.keys()[idx]改为 list(markers.keys())[idx]

参考:http://blog.csdn.net/chienchia/article/details/40887831

坑3.4

报错:如图

5da5ec2727e0

原因:log.test文件中同一行相邻元素之间是用逗号而不是空格来分开的。原版plot_training_log.py

中的fields = line.split( )无法相邻元素分开。

解决办法:将fields = line.split( )改为fields = line.split(',')

坑3.5

报错:

5da5ec2727e0

原因:如图,.log.test文件有空格行,当读取到空格行的时候就发生string index out of range

5da5ec2727e0

5da5ec2727e0

解决办法:在spyder中打开mnist_Lenet_train_test.log.text

手动删除空格行,或修改以下代码跳过空格行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值