Я хочу разделить на обучение/тестирование файлов массива numpy

У меня есть 12000 файлов в формате .npy. Я делаю это, потому что мои изображения имеют оттенки серого. Каждый файл (64,64). Я хочу знать, есть ли способ разделить тест и обучить использовать автоэнкодер.

(64,64) пустое изображение

Мой автоэнкодер будет обучаться с (64,64) изображениями. Если у кого-то есть опыт работы с автоэнкодерами: С кем лучше тренироваться (3,64,64) или (64,64)? Формат png, jpg лучше, чем npy?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать sklearn train_test_split.

import numpy as np
from sklearn.model_selection import train_test_split

list_of_images = # a list containing the paths of all your data files
                 # or a numpy array of shape (12000, 64, 64)

train_list, test_list = train_test_list(list_of_images, test_size=0.1, random_state=0, shuffle=True)

Приведенный выше фрагмент должен разделить ваши данные на 90% и 10% для обучения и тестирования.

  • Если вы примените его к списку путей, он должен вернуть два списка путей.
  • Если вы заранее загрузите все свои изображения в большой массив размера (12000, 64, 64), то он вернет два меньших массива (10800, 64, 64) и (1200, 64, 64) соответственно.

Поскольку ваши изображения имеют оттенки серого, нет необходимости использовать (3, 64, 64), автоэнкодеры будут нормально работать с (64, 64) --- или (1, 64, 64), если быть точным.

Так бы и было, спасибо. во втором пункте вы упомянули большой массив размеров (12000,64,64), должен ли я объединить свои отдельные файлы npy в этот формат?

Savoyevatel 19.11.2022 12:21

Нет необходимости, лучше хранить изображения отдельно на диске (чтобы вы могли открывать и проверять эти изображения по отдельности, если это необходимо). Вы можете объединить их вместе после загрузки в свой код с помощью np.stack, если это необходимо.

Mercury 19.11.2022 12:24

Другие вопросы по теме