Tensorflow对象检测,生成tfrecord时出错[TypeError:None的类型为NoneType,但应为以下类型之一:int,long]

Pai*_*ais 2 object-detection tensorflow tfrecord

在检查网上可用的不同解决方案时,大多数人(包括datitran)指出,它可能是火车csv文件中的类缺失或拼写错误。由于标签是使用labelImg完成的,因此无法弄清楚,它将这些类另存为xml,xml_to_csv.py将其转换为csv。不知道在什么情况下我本来有机会错过或误判任何班级。

这是正在处理的错误:

(OT) 
nisxxxxx@xxxxxxxx:~/Desktop/OD/models/research/object_detection$ 
python generate_tfrecord.py --csv_input=data/train_labels.csv  --
output_path=data/train.record
Traceback (most recent call last):
  File "generate_tfrecord.py", line 192, in <module>
    tf.app.run()
  File "/home/nisxxxxx/Desktop/test_OD/OT/lib/python2.7/site-
packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "generate_tfrecord.py", line 184, in main
tf_example = create_tf_example(group, path)
  File "generate_tfrecord.py", line 173, in create_tf_example
    'image/object/class/label': 
dataset_util.int64_list_feature(classes),
File"/home/nishanth/Desktop/test_OD/models/research/object_detection/utils/dat
aset_util.py", line 26, in int64_list_feature
    return 
tf.train.Feature(int64_list=tf.train.Int64List(value=value))
TypeError: None has type NoneType, but expected one of: int, long
Run Code Online (Sandbox Code Playgroud)

有人能解决这个问题吗?

小智 7

我不确定您使用了多少类...在最后之后,尝试使用“返回0而不是无” ...示例

if row_label == 'red':
    return 1
elif row_label == 'orange':
    return 2
elif row_label == 'blue':
    return 3
else:
    return 0
Run Code Online (Sandbox Code Playgroud)