使用Tensorflow objection detection API出错解决办法

本来想使用tensorflow2.0以上版本的,但是tensorflow models2.0以上的代码有问题(截至本文时间,之后google应该会修改),因此用的tensorflow1.14。因为每个人电脑环境不一样,直接运行会报很多错误。下面给出我在运行过程遇到的错误以及解决办法。
首先把models给clone下来,可以参考这个。然后运行models/research/object_detection/object_detection_tutorial.ipynb,代码里面用训练和好的通用目标检测模型进行检测,运行的时候发现代码里面用plt.imshow显示不出图片,于是参考了models2.2里面的代码用IPython.display显示出图片。

1、ModuleNotFoundError: No module named ‘object_detection’

需在models/research/目录下执行:

python setup.py install

参考:
https://www.jianshu.com/p/df42f49e7e9c

2、ImportError: No module named ‘nets’

运行setup.py文件,将slim中所有的模块加载。

python setup.py build
python setup.py install

参考:
https://blog.csdn.net/qidailiming1994/article/details/94584621
https://blog.csdn.net/huixingshao/article/details/80466158

3、ImportError: No module named ‘pycocotools’

直接安装pycocotools

pip install pycocotools

4、Message type “object_detection.protos.SsdFeatureExtractor” has no field named "bat

将pipeline.config中的batch_norm_trainable: true删除就可以。
参考:
https://blog.csdn.net/weixin_38383877/article/details/103788723
https://www.cnblogs.com/hezhiqiangTS/p/11233745.html

5、TypeError: can’t pickle dict_values objects

在安装目录site-packages\object_detection-0.1-py3.6.egg\object_detection\model_lib.py中,将category_index.values() 变成list(category_index.values()).
参考:
https://github.com/tensorflow/models/issues/4780
https://www.jianshu.com/p/30301ecd6350
https://blog.csdn.net/qq_27882063/article/details/86094951

6、TypeError: ‘numpy.float64’ object cannot be interpreted as an integer

这个报错在训练过程中出现,导致训练停止,这是numpy版本问题,解决办法:将numpy降级为1.17.5版本可解决。
先用

pip show numpy

查看numpy版本;
再用

pip install -U numpy==1.17.5

降低numpy的版本

7、修改训练次数

在配置文件,比如ssd_mobilenet_v2.config中,改变num_steps的次数即可。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值