Зачем мне перетасовывать данные, когда я получаю путь к изображениям? - PullRequest
0 голосов
/ 05 февраля 2020
train_image_paths = [str(path) for path in list(train_path.glob('*/*.jpeg'))]
random.shuffle(train_image_paths)

Выше приведен пример кода, который вы можете увидеть.

У меня такой же вопрос и в этом случае:

train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train)).batch(64).shuffle(10000)

Я не понимаю, зачем мне в этих случаях тасование.

1 Ответ

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

В очевидном случае, тасование полезно, если ваши тренировочные данные отсортированы по меткам классов. Перемешивая, вы позволяете вашей модели «видеть» широкий диапазон точек данных, каждая из которых принадлежит разным классам в контексте классификации. Если модель проходит через отсортированные данные обучения, ваша модель подвергается риску подгонки к определенным классам. Короче говоря, тасование помогает уменьшить дисперсию и гарантирует, что наборы обучающих, тестовых и проверочных данных отражают истинное распределение.

...