Tensorflow 对象检测,生成 tfrecord 时出错 [TypeError : None has type NoneType,,但预期为 : int, 长之一]

标签 tensorflow object-detection tfrecord

在检查网络上可用的不同解决方案时,大多数人(包括 datitran)指出这可能是训练 csv 文件中缺少类或类拼写错误。我无法弄清楚,因为标签是使用 labelImg 完成的,它将这些类保存为 xml,xml_to_csv.py 将其转换为 csv。我不确定在什么情况下我可能有机会错过或错误拼写任何类(class)。

这是正在处理的错误:

(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

有人能解决这个问题吗?

最佳答案

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

if row_label == 'red':
    return 1
elif row_label == 'orange':
    return 2
elif row_label == 'blue':
    return 3
else:
    return 0

关于Tensorflow 对象检测,生成 tfrecord 时出错 [TypeError : None has type NoneType,,但预期为 : int, 长之一],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48343420/

相关文章:

Tensorflow/models 使用 COCO 90 类 ID 虽然 COCO 只有 80 个类别

tensorflow - 使用 keras 在 gcloud ml-engine 上处理 TB 数据的最佳方法

python - Tensorflow:如何在使用新的最终层扩展图形后恢复初始 v3 预训练网络权重

conv-neural-network - 每个类(class)中应有多少张(最少)图像用于训练YOLO?

tensorflow - Anaconda 安装的 Tensorflow 缺少 contrib 框架中的 'audio_ops'

python - 有没有办法限制现有的 TensorFlow 对象检测模型?

opencv - 分析手绘流程图

python - 通过 CloudML 获取 TFrecords 的批量预测

Java 类型不兼容错误

python - TensorFlow 对象检测 API 错误