как работать с большим обучающим набором при работе с автокодерами в Google colaboratory?

#numpy #keras #deep-learning #google-colaboratory #training-data

#numpy #keras #глубокое обучение #google-colaboratory #обучение-данные

Вопрос:

Я тренирую автокодер (keras) в Google colab. однако у меня есть 25000 входных изображений и 25000 выходных изображений. Я пытался: 1- каждый раз копировать большой файл с Google Диска в colab (занимает 5-6 часов). 2- преобразуйте набор в массив numpy, но при нормализации изображений размер становится намного больше (например, с 7 ГБ до 24 ГБ), и тогда я не могу поместить его в оперативную память. 3- Я не могу заархивировать и разархивировать свои данные. Поэтому, пожалуйста, если кто-нибудь знает, как преобразовать его в массив numpy (и нормализовать его), не имея большого файла (24 ГБ).

Ответ №1:

Что я обычно делаю :

  1. Заархивируйте все изображения и загрузите .zip файл на свой Google Диск
  2. Разархивируйте в своей colab :
 from zipfile import ZipFile

with ZipFile('data.zip', 'r') as zip:
   zip.extractall()
 
  1. Все ваши изображения удалены и сохранены на диске Colab, теперь вы можете получить к ним более быстрый доступ.
  2. Используйте генераторы в keras like flow_from_directory или создайте свой собственный генератор
  3. используйте свой генератор, когда вы подходите к своей модели :
 moel.fit(train_generator, steps_per_epoch = ntrain // batch_size,
         epochs=epochs,validation_data=val_generator, 
         validation_steps= nval // batch_size)
 

с ntrain и nval количество изображений в вашем наборе данных для обучения и проверки