Python TypeError:应为二进制或unicode字符串,已获取项{
我使用自定义代码使用网络摄像头实时识别对象,但在创建标签的过程中出现了此错误,我使用的是python 3.7和TensorFlow 1.15,这是错误的,有更简单的方法使用实时对象识别吗 标签地图:Python TypeError:应为二进制或unicode字符串,已获取项{,python,tensorflow,opencv,image-recognition,Python,Tensorflow,Opencv,Image Recognition,我使用自定义代码使用网络摄像头实时识别对象,但在创建标签的过程中出现了此错误,我使用的是python 3.7和TensorFlow 1.15,这是错误的,有更简单的方法使用实时对象识别吗 标签地图: labels = [ {'name':'1DIG', 'id':1}, {'name':'2DIG', 'id':2}, {'name':'3DIG', 'id':3}, {'name':'4DIG', 'id':4}, ] with open(ANNOTATI
labels = [
{'name':'1DIG', 'id':1},
{'name':'2DIG', 'id':2},
{'name':'3DIG', 'id':3},
{'name':'4DIG', 'id':4},
]
with open(ANNOTATION_PATH + '\label_map.pbtxt', 'w') as f:
for label in labels:
f.write('item { \n')
f.write('\tname:\'{}\'\n'.format(label['name']))
f.write('\tid:{}\n'.format(label['id']))
f.write('}\n')
tf记录的代码:
!python {SCRIPTS_PATH + '/generate_tfrecord.py'} -x {IMAGE_PATH + '/train'} -l {ANNOTATION_PATH + '/label_map.pbtxt'} -o {ANNOTATION_PATH + '/train.record'}
!python {SCRIPTS_PATH + '/generate_tfrecord.py'} -x{IMAGE_PATH + '/test'} -l {ANNOTATION_PATH + '/label_map.pbtxt'} -o {ANNOTATION_PATH + '/test.record'}
错误:
Traceback (most recent call last):
File "Tensorflow/scripts/generate_tfrecord.py", line 62, in <module>
label_map_dict = label_map_util.get_label_map_dict(label_map)
File "C:\Users\Gabriel\AppData\Local\Programs\Python\Python37\lib\site-packages\object_detection\utils\label_map_util.py", line 164, in get_label_map_dict
label_map = load_labelmap(label_map_path)
File "C:\Users\Gabriel\AppData\Local\Programs\Python\Python37\lib\site-packages\object_detection\utils\label_map_util.py", line 133, in load_labelmap
label_map_string = fid.read()
File "C:\Users\Gabriel\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\lib\io\file_io.py", line 122, in read
self._preread_check()
File "C:\Users\Gabriel\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\lib\io\file_io.py", line 84, in _preread_check
compat.as_bytes(self.__name), 1024 * 512)
File "C:\Users\Gabriel\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\util\compat.py", line 71, in as_bytes
(bytes_or_text,))
TypeError: Expected binary or unicode string, got item {
name: "1DIG"
id: 1
}
item {
name: "2DIG"
id: 2
}
item {
name: "3DIG"
id: 3
}
item {
name: "4DIG"
id: 4
}
回溯(最近一次呼叫最后一次):
文件“Tensorflow/scripts/generate_tfrecord.py”,第62行,在
label\u map\u dict=label\u map\u util.get\u label\u map\u dict(label\u map)
文件“C:\Users\Gabriel\AppData\Local\Programs\Python\37\lib\site packages\object\u detection\utils\label\u map\u util.py”,第164行,在get\u label\u map\u dict中
标签映射=加载标签映射(标签映射路径)
文件“C:\Users\Gabriel\AppData\Local\Programs\Python\Python37\lib\site packages\object\u detection\utils\label\u map\u util.py”,第133行,在load\u labelmap中
label\u map\u string=fid.read()
文件“C:\Users\Gabriel\AppData\Local\Programs\Python\Python37\lib\site packages\tensorflow\u core\Python\lib\io\File\u io.py”,第122行,已读
self.\u预读\u检查()
文件“C:\Users\Gabriel\AppData\Local\Programs\Python\Python37\lib\site packages\tensorflow\u core\Python\lib\io\File\u io.py”,第84行,在预读检查中
兼容字节(自身名称),1024*512)
文件“C:\Users\Gabriel\AppData\Local\Programs\Python\Python37\lib\site packages\tensorflow\u core\Python\util\compat.py”,第71行,以字节为单位
(字节或文本)
TypeError:应为二进制或unicode字符串,已获取项{
名称:“1DIG”
身份证号码:1
}
项目{
名称:“2DIG”
身份证号码:2
}
项目{
名称:“3DIG”
身份证号码:3
}
项目{
名称:“4DIG”
身份证号码:4
}
最后一项后的标签中有一个逗号。请将其删除我在另一个链接中找到了答案:
您可能还需要检查
xml\u df.to\u csv
位置错误持续性我也有同样的问题,此链接也可以使用