TX1上使用Faster-RCNN训练自己的训练集遇到的问题与解决
2017-05-26 21:25
603 查看
1.我使用的是嵌入式系统TX1,CPUGPU效率有限,只能使用ZF模型进行训练
2.数据集不能太小,第一次做数据集想只是试一试,只做了20个,结果费了半天劲,做不出效果,后来做了200+的数据集,才有了效果,做数据集不是很费事,建议做至少100+
3.我在训练时多次发生找不到"cv2"这个module的问题,简单的解决方法是在python安装目录下找到cv2.so文件,复制到出问题的文件夹即可解决问题,如下面报错的情况。
4.由于显存有限,必须降低显存消耗,比如报错如下就是显存不足的原因
可以通过以下方法
修改lib/fast_rcnn文件中的config.py文件
__C.TRAIN.BATCH_SIZE = 16#原先为128
__C.TRAIN.SCALES = (300,) #原先为600 #此处尤为关键,能极大的减少显存消耗,具体原因不是很了解,求大神解答
__C.TRAIN.MAX_SIZE =330 #原先为1000
__C.TEST.SCALES = (300,)#原先为600
__C.TEST.MAX_SIZE = 330 #原先为1000
修改lib/rpn/generate_anchors.py
generate_anchors(base_size=16, ratios=[0.5, 1, 2],scales=2**np.arange(3, 6)):
改为base_size=8, ratios=[0.5, 1, 2],scales=[8,12,16]):
修改lib/rpn/propsoal_layer.py
原先anchor_scales = layer_params.get('scales', (8, 16, 32))#(8, 16, 32)应该就是2**np.arange(3, 6)
所以改为anchor_scales = layer_params.get('scales', (8, 12, 16))
5.由于TX1存储空间有限,而训练过程中产生的model文件很大,需要将其存储到存储卡中
分别需要修改lib/fast_rcnn/config.py文件中的get_output_dir函数,tools/train_faster_rcnn_alt_opt.py中主函数中的倒数几行的final_path
6.由于系统资源有限,训练速度较慢,同时减少过拟合的概率,想降低迭代次数,此处需要修改tools/train_faster_rcnn_alt_opt.py中的max_iters = [500, 500, 500, 500],但是同时也要修改models/pascal_voc/ZF/faster_rcnn_alt_op中四个solver文件中的stepsize的大小使之小于对应的max_iters,博主是是两者直接相等。
7.非常奇怪的一点,有的时候报错某个文件找不到,此时大多数情况是相对路径找不到,必须找到该文件的错误位置改成绝对路径,这也是cv2.so文件找不到的原因吧
8.如果报错如下,或者类似
2.数据集不能太小,第一次做数据集想只是试一试,只做了20个,结果费了半天劲,做不出效果,后来做了200+的数据集,才有了效果,做数据集不是很费事,建议做至少100+
3.我在训练时多次发生找不到"cv2"这个module的问题,简单的解决方法是在python安装目录下找到cv2.so文件,复制到出问题的文件夹即可解决问题,如下面报错的情况。
Traceback (most recent call last): File "demo.py", line 162, in <module> demo(net, im_name) File "demo.py", line 83, in demo im = cv2.imread(im_file) AttributeError: 'module' object has no attribute 'imread'
4.由于显存有限,必须降低显存消耗,比如报错如下就是显存不足的原因
Process Process-1: Traceback (most recent call last): XXXXXXXX(文件路径) XXXXXXXX MemoryError
可以通过以下方法
修改lib/fast_rcnn文件中的config.py文件
__C.TRAIN.BATCH_SIZE = 16#原先为128
__C.TRAIN.SCALES = (300,) #原先为600 #此处尤为关键,能极大的减少显存消耗,具体原因不是很了解,求大神解答
__C.TRAIN.MAX_SIZE =330 #原先为1000
__C.TEST.SCALES = (300,)#原先为600
__C.TEST.MAX_SIZE = 330 #原先为1000
修改lib/rpn/generate_anchors.py
generate_anchors(base_size=16, ratios=[0.5, 1, 2],scales=2**np.arange(3, 6)):
改为base_size=8, ratios=[0.5, 1, 2],scales=[8,12,16]):
修改lib/rpn/propsoal_layer.py
原先anchor_scales = layer_params.get('scales', (8, 16, 32))#(8, 16, 32)应该就是2**np.arange(3, 6)
所以改为anchor_scales = layer_params.get('scales', (8, 12, 16))
5.由于TX1存储空间有限,而训练过程中产生的model文件很大,需要将其存储到存储卡中
分别需要修改lib/fast_rcnn/config.py文件中的get_output_dir函数,tools/train_faster_rcnn_alt_opt.py中主函数中的倒数几行的final_path
6.由于系统资源有限,训练速度较慢,同时减少过拟合的概率,想降低迭代次数,此处需要修改tools/train_faster_rcnn_alt_opt.py中的max_iters = [500, 500, 500, 500],但是同时也要修改models/pascal_voc/ZF/faster_rcnn_alt_op中四个solver文件中的stepsize的大小使之小于对应的max_iters,博主是是两者直接相等。
7.非常奇怪的一点,有的时候报错某个文件找不到,此时大多数情况是相对路径找不到,必须找到该文件的错误位置改成绝对路径,这也是cv2.so文件找不到的原因吧
8.如果报错如下,或者类似
Traceback (most recent call last): File "/home/ubuntu/WYZ/py-faster-rcnn/tools/test_net.py", line 90, in <module> test_net(net, imdb, max_per_image=args.max_per_image, vis=args.vis) File "/home/ubuntu/WYZ/py-faster-rcnn/tools/../lib/fast_rcnn/test.py", line 295, in test_net imdb.evaluate_detections(all_boxes, output_dir) File "/home/ubuntu/WYZ/py-faster-rcnn/tools/../lib/datasets/pascal_voc.py", line 318, in evaluate_detections self._do_python_eval(output_dir) File "/home/ubuntu/WYZ/py-faster-rcnn/tools/../lib/datasets/pascal_voc.py", line 281, in _do_python_eval use_07_metric=use_07_metric) File "/home/ubuntu/WYZ/py-faster-rcnn/tools/../lib/datasets/voc_eval.py", line 126, in voc_eval R = [obj for obj in recs[imagename] if obj['name'] == classname] KeyError: '000015'是之前训练的结果没有删掉的原因,需要将运行
rm -r data/VOCdevkit2007/annotations_cache rm -r data/cache
相关文章推荐
- faster-rcnn训练自己的数据集以及遇到的一些问题
- 使用caffe训练faster-rcnn时遇到的问题总结
- faster rcnn训练自己地数据时遇到地问题
- 使用Faster-RCNN训练自己的训练集
- faster rcnn训练自己地数据时遇到地问题
- faster rcnn训练自己地数据时遇到地问题
- faster rcnn训练自己地数据时遇到地问题
- 使用caffe训练faster-rcnn时遇到的问题总结
- faster-rcnn训练和测试自己的数据(VGG/ResNet)以及遇到的问题
- 使用caffe训练faster-rcnn时遇到的问题总结
- faster rcnn训练自己地数据时遇到地问题
- faster rcnn训练自己地数据时遇到地问题
- Faster-RCNN训练自己数据集遇到的问题集锦
- faster rcnn训练自己地数据时遇到地问题
- faster rcnn训练自己地数据时遇到地问题
- faster rcnn训练自己地数据时遇到地问题
- faster rcnn训练自己地数据时遇到地问题
- win10 Faster-RCNN训练自己数据集遇到的问题集锦 (转)
- faster rcnn训练自己地数据时遇到地问题
- 使用py-faster-rcnn训练VOC2007数据集时遇到问题