Метка Отображение изображения на соответствующее имя с помощью словаря - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть набор данных с цветочными изображениями, который называется train_data. У меня также есть словарь под названием class_names с целочисленными кодированными метками для фактических названий цветов. Для большей наглядности приведем пример того, как выводится словарь class_names:

Output: 
{'21': 'fire lily',
'3': 'canterbury bells',
'45': 'bolero deep blue',
 '1': 'pink primrose',
'34': 'mexican aster'}

Цель состоит в том, чтобы нанести одно изображение из обучающего набора. Установите заголовок сюжета для соответствующего имени класса. Например, если выводится цветок, он должен взять его метку и имя класса. Код не выводит ошибку и отображает метку изображения. Тем не менее, он не отображает имя класса правильно. Скорее он устанавливает имя None. Как показано на изображении ниже:

enter image description here

Мы будем благодарны за помощь в получении ярлыка и названия уважительного изображения. Вот мой код ниже:

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))

1 Ответ

1 голос
/ 15 февраля 2020

не могли бы вы попробовать напечатать label один раз. это дает целое число или номер строки? Потому что твои словарные ключи - это строки. и если ключ отсутствует в словаре, метод 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
>>>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...