Python 使用字典将图像映射到相应名称的标签

Python 使用字典将图像映射到相应名称的标签,python,image,dictionary,matplotlib,plot,Python,Image,Dictionary,Matplotlib,Plot,我有一个名为train\u data的花卉图像数据集。我还有一本名为class_names的字典,上面有花的实际名称的整数编码标签。为了更清楚,这里有一个示例说明类名字典是如何输出的: Output: {'21': 'fire lily', '3': 'canterbury bells', '45': 'bolero deep blue', '1': 'pink primrose', '34': 'mexican aster'} 目标是从训练集中绘制一幅图像。将绘图标题设置为相应的类名。例

我有一个名为
train\u data
的花卉图像数据集。我还有一本名为
class_names
的字典,上面有花的实际名称的整数编码标签。为了更清楚,这里有一个示例说明
类名
字典是如何输出的:

Output: 
{'21': 'fire lily',
'3': 'canterbury bells',
'45': 'bolero deep blue',
 '1': 'pink primrose',
'34': 'mexican aster'}
目标是从训练集中绘制一幅图像。将绘图标题设置为相应的类名。例如,如果输出一朵花,它应该使用它的标签和它的类名。 代码不会输出错误,并且会打印图像的标签。但是,它不能正确绘制类名。而是将名称设置为“无”。如下图所示:

如能获得尊敬的形象的标签和名称,将不胜感激。下面是我的代码:

for image, label in train_data.take(1):
image = image.numpy().squeeze()
label = label.numpy()
plt.imshow(image, cmap=plt.cm.binary)
plt.title(class_names.get(label))
# Display image
plt.show()
print('The label of this image is:', label)
print('The class name of this image is:', class_names.get(label))

你能试着打印一下标签吗。它是给intezer还是字符串编号?因为你的字典键是字符串。如果字典中没有键,get方法将返回None,也不会返回错误

>>> a = {1:'a'}
>>> a.get(1)
'a'
>>> a.get(2)
>>> a[2]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 2
>>>
>a={1:'a'}
>>>a.get(1)
“a”
>>>a.get(2)
>>>a[2]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
关键错误:2
>>>

您能试着打印一次标签吗。这是给intezer还是字符串编号?这是一个关键错误,所以我想知道我的迭代是否正确?