参考这篇文章:https://blog.csdn.net/10km/article/details/64641322
我觉得我的xml文件不需要将矩形框都减1,所以在-1前面都加一个井号,将-1都注释掉。
错误:File "/home/drl/new/Faster-RCNN-TensorFlow-Python3.5/lib/datasets/imdb.py", line 119, in append_flipped_images assert (boxes[:, 2] >= boxes[:, 0]).all()
解决办法是:将/home/drl/new/Faster-RCNN-TensorFlow-Python3.5/lib/datasets/pascal_voc.py打开,将162-165行代码后面的-1都注释掉!!!
在重新运行train.py文件时,首先
1、同时将/home/drl/new/Faster-RCNN-TensorFlow-Python3.5/default/voc_2007_trainval/文件夹下的所有模型文件备份,然后删掉
2、还要将/home/drl/new/Faster-RCNN-TensorFlow-Python3.5/data/cache/文件夹下的缓存文件备份,然后删掉
再运行python train.py
成功!
训练完,现在运行demo.py文件,在命令行输入代码 python demo.py
出现错误:
File "/home/drl/anaconda3/envs/tensorflow-gpu/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1204, in __init__
self._traceback = self._graph._extract_stack() # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [21] rhs shape= [2]
[[Node: save/Assign_2 = Assign[T=DT_FLOAT, _class=["loc:@vgg_16/cls_score/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](vgg_16/cls_score/biases, save/RestoreV2_2/_5)]]
错误原因是:
1.没有将demo.py, line 33行的代码改成自己的类别:
2. 没有将demo.py,line 33行的代码需要测试的图片名称改为自己需要测试的图片名称:
改为:
3. 没有在/home/drl/new/Faster-RCNN-TensorFlow-Python3.5/data/demo/文件夹下放置自己需要测试的图片
改为:
然后重新运行demo.py文件: