Получите доступ к coarse_label в CIFAR-100, загруженном из tenorflow_daseasets - PullRequest
0 голосов
/ 23 октября 2019

Я загружаю CIFAR-100, используя tenorflow_datasets (tfds doc)

train, test = tfds.load(name="cifar100:3.*.*", split=["train", "test"], as_supervised=True)

CIFAR-100 имеет как метку (100 классов), так и coarse_label (20классы), как показано в документе, связанном выше. Легко получить доступ к метке, например:

for image, label in train:
     # ... the label here is the actual label, not the coarse_label

Однако я планирую выполнить операции на основе coarse_label, например, отфильтровать его или использовать в качестве метки в классификаторе Keras.

Как я могу получить доступ к coarse_label?

1 Ответ

0 голосов
/ 23 октября 2019

Я нашел решение. Если я не выполняю загрузку под наблюдением, т. Е. Если я удаляю as_supervised=True

train, test = tfds.load(name="cifar100:3.*.*", split=["train", "test"])

, я могу получить coarse_labels из словарей, например,

for item in train:
   print(item['coarse_label'])

Вот так, ябудет в состоянии переделать набор данных st, который coarse_labels может использоваться для классификации. Тем не менее, для меня все еще неестественно выглядит то, что мне нужно загрузить as_supervised=False, хотя я заинтересован в ярлыках. Если у кого-то есть лучшее решение, я с радостью приму этот ответ.

...