py-faster-rcnn几个辅助脚本

py-faster-rcnn本身代码很棒。

不过使用它的时候,还是需要自己写一些脚本,作为辅助。

1 所有.py文件顶部添加utf8编码声明。因为有时候需要添加中文注释,不声明编码会报错

#insert_utf8_at_first_line.sh
sed -i '1i #coding:utf-8' `find . -name '*.py'`

2 清除缓存文件:每次训练时,如果有前面一次遗留的缓存文件干扰,几个小时的训练可能要白费了。 这怎么能允许呢?

#clean_cache.sh
rm -f data/cache/voc_2007_trainval_gt_roidb.pkl
rm -f data/VOCdevkit2007/annotations_cache/annots.pkl
rm -f `find . -name '*.pyc'`
rm -rf output/faster_rcnn_end2end

3 训练时候只想看loss,不想看其他的
可以把训练输出到终端的内容,重定向到文件。然后用tailf显示文件内容,并辅以grep和awk,就可以了。

先执行训练脚本

./experiments/scripts/faster_rcnn_end2end.sh 0 VGG_CNN_M_1024 pascal_voc

训练输出到屏幕的,也会写入到logs目录下最新的一个文件,比如:

./experiments/logs/faster_rcnn_end2end_VGG_CNN_M_1024_.txt.2016-12-14_19-49-01

从文件中显示loss内容行:

tailf experiments/logs/faster_rcnn_end2end_VGG_CNN_M_1024_.txt.2016-12-14_19-49-01 | grep '\sloss\s='

以及,只想看loss那一列(最后一列)的数据:

cat experiments/logs/faster_rcnn_end2end_VGG_CNN_M_1024_.txt.2016-12-14_19-49-01 | grep '\sloss\s=' | awk '{print $NF}'
上一篇:PL/SQL基础


下一篇:Python脚本打包为exe文件