我该如何解决键盘错误

问题描述 投票:0回答:1

我正在研究colab中的对象检测。我从GitHub获得了代码。这里的链接https://medium.com/@moshe.livne/training-tensorflow-for-free-pet-object-detection-api-sample-trained-on-google-collab-c2e65f4a9949

[当我使用create_pet_tf_record.py时,出现错误。是KeyError。我只有一堂课,而且不是同一类。现在,我的班级是Shin,但是KeyError是'drop'。实际上,我很久以前就使用过“ drop”类别。

您能否解决这些错误

代码正在google colab上运行。我的班只是“申”我修改了这些代码,并确认要为其他图像运行代码。

这是可以创建tfrecord文件的代码。

%cd ~/datalab

!python ~/models/research/object_detection/dataset_tools/create_pet_tf_record.py --label_map_path=label_map.pbtxt --data_dir=. --output_dir=. --num_shards=1

这是我的错误

/root/datalab
WARNING: Logging before flag parsing goes to stderr.
W0615 10:23:11.859250 139781813761920 deprecation_wrapper.py:119] From /root/models/research/object_detection/dataset_tools/create_pet_tf_record.py:318: The name tf.app.run is deprecated. Please use tf.compat.v1.app.run instead.

W0615 10:23:11.859874 139781813761920 deprecation_wrapper.py:119] From /usr/local/lib/python2.7/dist-packages/object_detection-0.1-py2.7.egg/object_detection/utils/label_map_util.py:132: The name tf.gfile.GFile is deprecated. Please use tf.io.gfile.GFile instead.

I0615 10:23:11.861181 139781813761920 create_pet_tf_record.py:273] Reading from Pet dataset.
I0615 10:23:11.861639 139781813761920 create_pet_tf_record.py:288] 21 training and 9 validation examples.
W0615 10:23:11.861834 139781813761920 deprecation_wrapper.py:119] From /usr/local/lib/python2.7/dist-packages/object_detection-0.1-py2.7.egg/object_detection/dataset_tools/tf_record_creation_util.py:43: The name tf.python_io.TFRecordWriter is deprecated. Please use tf.io.TFRecordWriter instead.

I0615 10:23:11.862046 139781813761920 create_pet_tf_record.py:241] On image 0 of 21
/usr/local/lib/python2.7/dist-packages/object_detection-0.1-py2.7.egg/object_detection/utils/dataset_util.py:75: FutureWarning: The behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead.
  if not xml:
Traceback (most recent call last):
  File "/root/models/research/object_detection/dataset_tools/create_pet_tf_record.py", line 318, in <module>
    tf.app.run()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/usr/local/lib/python2.7/dist-packages/absl/app.py", line 300, in run
    _run_main(main, args)
  File "/usr/local/lib/python2.7/dist-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "/root/models/research/object_detection/dataset_tools/create_pet_tf_record.py", line 305, in main
    mask_type=FLAGS.mask_type)
  File "/root/models/research/object_detection/dataset_tools/create_pet_tf_record.py", line 260, in create_tf_record
    mask_type=mask_type)
  File "/root/models/research/object_detection/dataset_tools/create_pet_tf_record.py", line 167, in dict_to_tf_example
    classes.append(label_map_dict[class_name])
KeyError: 'drop'

我已经检查了我的label_map。我只能看到一个班级'Shin'

你知道我怎么解决吗?

keyerror tfrecord
1个回答
0
投票
这是一个未定义的类,您必须更改为:

classes.append(label_map_dict[class_name])

文件的“ /root/models/research/object_detection/dataset_tools/create_pet_tf_record.py”至:

classes.append(label_map_dict['drop'])

除非您使用该代码的类超过1个,否则它将解决问题。我希望它能工作,好湖。
© www.soinside.com 2019 - 2024. All rights reserved.