Tensorflow object-detection api 报错

我尝试使用ssd_mobilenet_v1模型,报错TypeError: pred must be a Tensor, or a Python bool, or 1 or 0. Found instead: None
不知道是什么原因引起的,is_training改成true的方法我已经试过了,没有用

首先 pred类型错误了 不是所需要的类型,你应该先type(pred)看一下是什么类型 ,然后找到获得pred这个变量的那个方法 再查看方法内部为什么获得你所type出来的类型而不是Tensor类型 一步一步去跟踪 就能找到问题了

pred must be a Tensor,这是说pred这个变量必须使用张量,而不是一般的变量,你是不是调用了什么python自身的函数之类的,导致其结果不是张量。

怎么弄的啊!!!求指教

搜素并打开ssd_mobilenet_v1_feature_extractor.py
定位到 107到109行, 把 is_training=None改成 is_training=True即可 ,如下
with slim.arg_scope(
mobilenet_v1.mobilenet_v1_arg_scope(
is_training=True, regularize_depthwise=True)):

改不好的话就换个版本吧,我之前用的tf1.3,但是使用object detection api的时候遇到挺多问题的,master下的api应该是1.7或者1.8的,最后我把tf换成了1.5,然后下了model-1.5的api,训练就没问题了