Я немного изменил ответ. Я постараюсь втиснуть генератор данных в ваш код, в то время как я бы предложил go этот способ использовать генератор изображений с базовым c домашним хранением данных.
сначала прочитайте поезд csv и импортируйте shutil
util, чтобы переместить вас и выровнять вашу папку, как указано ниже: import shutil
используйте этот способ, чтобы быстро прочитать каждую строку csv и скопировать изображение в соответствующие папки согласно структуре shutil.copy(path given in csv, <destination folder>)
таким образом, прочитайте обе csvs и используйте shutil для перемещения ваших изображений в иерархии, упомянутой ниже, поверьте мне, для хранения данных потребуется гораздо меньше времени. Вы можете создать несколько подпапок (в зависимости от класса) в папке train и test.
| __ train
| ______ pl anet: [содержит изображения.]
| ______ star: [ содержит изображения.]
| __ test
| ______ Планеты: [содержит изображения]
| ______ собак: [images]
test_dir = os.path.join(PATH, 'test')
train_dir = os.path.join(PATH, 'train')
train_planets_dir = os.path.join(train_dir, 'planet') # directory with our planets images
train_stars_dir = os.path.join(train_dir, 'star') # directory with our training star images
# similarly for stars i.e. other class
test_planets_dir = os.path.join(test_dir, 'planet')
test_stars_dir = os.path.join(test_dir, 'star')
Теперь вызовите генератор изображений со всеми тип необходимых вам расширений в соответствии с вашими потребностями (см. аргументы для различных расширений, включите все необходимые)
train_data_gen = train_image_generator.flow_from_directory(batch_size=batch_size,
directory=train_dir,
shuffle=True,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='binary')
see **train_dir** is the common path which contains all the sub class folders within
similarly for test.
test_data_gen = test_image_generator.flow_from_directory(batch_size=batch_size,
directory=test_dir,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='binary')
таким образом, вы получите правильный способ хранения данных и сможете эффективно использовать генератор данных, Более того, этот способ в конечном итоге будет обрабатывать метки автоматически.
надеюсь, это немного поможет.