tensorflow object detection预训练模型踩坑指南
记录使用tensorflow的物体检测预处理模型时所遇到的各种坑
python文件我使用的博客地址为:
Tensorflow object detection API训练自己的目标检测模型(检测图片中和视频中的物体)
由于原博主的tensorflow版本是tensorflow1.14.0
版本,为了适配2.0版本人做了部分修改.
代码如下:
所遇到的问题:
1.缺少object_dection
模块
ModuleNotFoundError: No module named ‘object_detection’
在我们使用tensorflow的预处理模型时需要用到tensorflow的api,它包含了很多的工具方法,包括图像分类、检测、自然语言处理NLP、视频预测、图像理解等等,我们需要的对象检测API也包括在这里面。直接在github下载zip包,然后如果你的tensorflow是在Anaconda的一个开发环境中,就直接在anaconda的Lib的site-packages目录下(Anaconda本身只是一个包管理器)新建一个xx.pth的文件,比如新建一个tensorflow_model.pth文件,添加你的models的3个路径:
E:\models-master\research
E:\models-master\research\slim
E:\models-master\research\object_detection
如果你安装时是单独安装的python没有依靠anaconda,只需要在python的Lib的site-packages目录下按照上面的一样操作即可。
问题就解决了
2.无法导入string_int_label_map_pb2
具体错误为:
tensorflow object-detection ImportError: cannot import name 'string_int_label_map_pb2'
解决方法:
1.下载protoc-3.6.1-win32
2.解压后将bin里面的protoc.exe的路径加到电脑的环境变量的PATH中
3.打开cmd,在/model/research/
目录下执行命令
发现出错
object_detection/protos/*.proto: No such file or directory
这是因为*.”在windows系统无法识别
。这时就可以使用git命令,不要用CMD命令,当然这需要你Windows系统安装了git了,Git for Windows下载 安装完后,在/model/research/
目录下使用git命令重试
问题解决
3.tensorflow缺失GraphDef
属性
具体错误为:
Error: module 'tensorflow' has no attribute 'GraphDef'
这是因为tensorflow的1和2的版本的差异
解决办法:
修改为
4.tensorflow缺失gfile
属性
具体错误为:
AttributeError: module 'tensorflow' has no attribute 'gfile'
运行如下代码
会出现如下问题:
AttributeError: module ‘tensorflow’ has no attribute ‘gfile’
这是因为在当前的版本中,gfile已经定义在io包的file_io.py中。
解决办法:
所以只要改为下面的即可:
5.tensorflow无法显示Matplotlib的ui界面
具体错误为:
UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
这是因为Matplotlib默认中使用的Agg是一个没有图形显示界面的终端,常用的有图形界面显示的终端有TkAgg等。,所以我们选择更换为TKAgg
解决办法:
在程序中增加一条语句:
6.ERROR:无效的连续字节
具体错误为:
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xca in position 0: invalid continuation byte
博主的原因与网上其他造成这种错误的原因不同,博主是因为博主项目中的资源路径和所参考的文献中的资源路径不同,代码中的PATH_TO_LABELS
的文本地址没有修改导致引用的文本不存在从而产生的错误
解决办法:
修改为正确的路径即可。
最后
所参考的所有文献地址如下:
-
windows下执行tensorflow/models的代码显示No module named 'object_detection'
-
tensorflow object-detection ImportError: cannot import name 'string_int_label_map_pb2'
-
Error-module 'tensorflow' has no attribute 'GraphDef' 'Session'
-
问题:AttributeError: module 'tensorflow' has no attribute 'gfile'
__EOF__

本文链接:https://www.cnblogs.com/GoodMemoryBlog/p/14323015.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)