Возможно ли получить распределение классов при использовании наборов данных Tensorflow (TFDS) - PullRequest
0 голосов
/ 13 июля 2020

Как сказано в заголовке.

Можно ли получить информацию о распределении классов при использовании tfds (Tensorflow Datasets). Если я передам with_info, я получу информационный объект tfds.core.DatasetInfo, который содержит некоторую информацию о наборе данных (разбиения, метки и т. Д. c.).

Однако мне любопытно, можно ли определить точное распределение по классам из того, что содержится в этом объекте.

Из того, что я видел, это невозможно без предварительной итерации по набору данных. Просто хотел дважды проверить эту гипотезу и узнать, какой самый быстрый / лучший способ - извлечь эту информацию из набора данных.

ПРИМЕЧАНИЕ. В целях этого вопроса я рассматриваю только наборы данных для классификации изображений. .

1 Ответ

0 голосов
/ 13 июля 2020

Мне тоже не удалось найти способ получить распространение лейбла. Вот альтернатива:

import tensorflow_datasets as tfds
import numpy as np

ds = tfds.load('mnist', split='train', as_supervised=True)

vals = np.unique(np.fromiter(ds.map(lambda x, y: y), float), return_counts=True)

for val, count in zip(*vals):
    print(int(val), count)
0 5923
1 6742
2 5958
3 6131
4 5842
5 5421
6 5918
7 6265
8 5851
9 5949
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...