1.AttributeError: ‘module’ object has no attribute ‘text_format’
解决办法:
打开py-faster-rcnn/lib/fast_rcnn/train.py增加一行import google.protobuf.text_format 即可解决问题
参考:https://blog.csdn.net/qq_33202928/article/details/72526710
2.bbox_targets[ind, start:end] = bbox_target_data[ind, 1:] TypeError: slice indices must be integers or None or have an index method
可能是源代码发布的时候,numpy 是支持浮点数作为索引的,但是在 numpy1.12.0 之后,numpy 只能用整数作为索引。
解决办法(两种):
第一种是卸载当前的 numpy,安装回以前的 1.11.2 版本,但是同时安装的 opencv 版本也得退回老版本,因为新版本的 opencv3.1 依赖于新版本的 numpy,相同的依赖问题还有matplotlib。因此的重装回 openCV2.4.13, matplotlib1.5.1,当然这种办法比较麻烦
第二种办法是找到使用浮点数作为 numpy 索引的相关代码,将其强制转换为 int 型:
在./lib/rpn/proposal_target_layer.py的126行 ,增加
start = int(start)
end = int(end)
在166行,增加 fg_rois_per_this_image = int(fg_rois_per_this_image)
参考:https://blog.csdn.net/a417197457/article/details/80593316
3.UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 13: ordinal not in range(128)
原因是:python的str默认是ascii编码,和unicode编码冲突,就会报这个标题错误
解决办法:
在开头添加如下代码:
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
参考:https://blog.csdn.net/ricky_yangrui/article/details/81436234
4. roidb[i][‘image’] = imdb.image_path_at(i)
IndexError: list index out of range
解决办法:
删除fast-rcnn-master/data/cache/ 文件夹下的.pkl文件,或者改名备份,重新训练即可。
参考:https://blog.csdn.net/marshwb/article/details/50451548 中第三部分“训练过程中错误”