Python 3.x下TensorFlow目标检测出现AttributeError求助
解决TensorFlow目标检测中的
as_defult()属性错误 嘿,这个问题其实是个很容易中招的拼写小失误!你看到的AttributeError,根源就在于代码里的方法名写错了——as_defult少了一个字母a,正确的方法名应该是as_default()。
问题出在哪
TensorFlow的Graph对象提供的上下文管理器方法是as_default(),用来将当前图设置为默认图。而你写的as_defult是拼写错误,这个方法根本不存在,所以程序才会报错说找不到这个属性。
修正后的代码
把出错的那行代码改成下面这样就好:
with detection_graph.as_default(): # 这里放你的目标检测逻辑,比如加载模型、执行检测等代码
额外的小提示
- 确认你的
detection_graph是一个有效的TensorFlow Graph对象,比如是通过tf.compat.v1.Graph()创建的,或者从预训练目标检测模型里正确加载出来的 - 如果你用的是TensorFlow 2.x版本,部分旧的目标检测代码可能需要兼容模式,你可以试试这样导入TensorFlow:
import tensorflow.compat.v1 as tf tf.disable_eager_execution()
改完拼写后,这个错误应该就消失了,你可以继续调试你的目标检测代码啦。
内容的提问来源于stack exchange,提问作者Rafet Türkel
相关产品推荐
相关产品推荐

