Количество изображений в обучающем и тестовом наборах tfds.load () - PullRequest
0 голосов
/ 16 июня 2020

Я просто хочу знать, составляет ли общее количество изображений в train_data 60000 или 10000. Я пробовал train_data.shape (), но он просто возвращает

DatasetV1Adapter shapes: {image: (28, 28, 1), label: ()}, types: {image: tf.uint8, label: tf.int64}

Пожалуйста, дайте мне знать, как я могу узнать количество изображений.

(train_data, test_data), metadata = tfds.load(name = 'mnist',
                                              split = ['train', 'test'],                                      
                                              with_info = True,)

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Учитывая ваш синтаксис:

(train_data, test_data), metadata = tfds.load(name = 'mnist',
                                              split = ['train', 'test'],                                      
                                              with_info = True)

Опция with_info=True возвращает дополнительную информацию, которая в вашем случае фиксируется второй переменной metadata.

Следовательно, размер train_data и test_data можно просто проверить следующим образом:

print(metadata)

Дополнительная информация: print(train_data.shape) не будет работать как это не numpy массив.

0 голосов
/ 16 июня 2020

Вы можете использовать:

    builder = tfds.builder('mnist')
    info = builder.info
    print(info)

Вывод:

tfds.core.DatasetInfo(
    name='mnist',
    version=3.0.1,
    description='The MNIST database of handwritten digits.',
    homepage='http://yann.lecun.com/exdb/mnist/',
    features=FeaturesDict({
        'image': Image(shape=(28, 28, 1), dtype=tf.uint8),
        'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=10),
    }),
    total_num_examples=70000,
    splits={
        'test': 10000,
        'train': 60000,
    },
    supervised_keys=('image', 'label'),
    citation="""@article{lecun2010mnist,
      title={MNIST handwritten digit database},
      author={LeCun, Yann and Cortes, Corinna and Burges, CJ},
      journal={ATT Labs [Online]. Available: http://yann.lecun.com/exdb/mnist},
      volume={2},
      year={2010}
    }""",
    redistribution_info=,
)

Из метаданных информации вы можете извлечь информацию с помощью следующего кода:

info.features

Вывод :

FeaturesDict({
    'image': Image(shape=(28, 28, 1), dtype=tf.uint8),
    'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=10),
})

Количество классов, имена меток:

print(info.features["label"].num_classes)
print(info.features["label"].names)

Вывод:

10
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

Фигуры, типы данных:

print(info.features.shape)
print(info.features.dtype)
print(info.features['image'].shape)
print(info.features['image'].dtype)

Вывод:

{'image': (28, 28, 1), 'label': ()}
{'image': tf.uint8, 'label': tf.int64}
(28, 28, 1)
<dtype: 'uint8'>

Информация о разделении:

print(info.splits)

Вывод:

{'test': <tfds.core.SplitInfo num_examples=10000>, 'train': <tfds.core.SplitInfo num_examples=60000>}

Доступные разделения:

print(list(info.splits.keys()))

Вывод:

['test', 'train']

И еще несколько. Вы можете увидеть приведенные выше примеры и многое другое на веб-сайте tenorflow @ https://www.tensorflow.org/datasets/overview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...