Каков наилучший эффективный с точки зрения оперативной памяти способ размещения изображений с высоким разрешением в массив numpy?

#python #numpy #tensorflow

Вопрос:

В настоящее время я работаю над обработкой изображений для использования в a GAN , но я еще не нашел ram-efficient way способ поместить 30 000 изображений в an Numpy array для удобства использования. Любая помощь будет признательна.

Фреймворк, который я использую: Tensorflow

Комментарии:

1. вероятно, лучшее, что вы можете сделать, — это прочитать их пакетами с вашего диска.. Я думаю, что нет никакого способа сохранить в памяти изображения такого размера

2. Не могли бы вы объяснить, как это сделать?

3. трудно объяснить с почти нулевым контекстом, какие библиотеки вы используете (tensorflow, pytorch, другие?? где у вас все изображения?

4. какую систему глубокого обучения вы используете?

5. Я использую tensorflow

Ответ №1:

Прежде всего, давайте предположим, что у вас есть место на диске для этих 30000 изображений (довольно очевидно).

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

Итак, храните изображения на диске. Используйте пакетирование, несколько изображений на мини-пакет, загрузите его в процессор (ОЗУ), выполните предварительную обработку, переместите его на графический процессор, обучите и продолжайте.