Простые способы загрузки изображений из каталога в Keras

Загрузка изображений из каталога — обычная задача во многих проектах глубокого обучения и компьютерного зрения. Keras, популярная библиотека глубокого обучения, предоставляет несколько методов для легкого выполнения этой задачи. В этой статье мы рассмотрим различные подходы к загрузке изображений из каталога с помощью Keras, а также примеры кода и разговорные объяснения. Итак, приступим!

Метод 1: использование класса ImageDataGenerator
Keras предоставляет класс ImageDataGenerator, который предлагает удобный способ загрузки изображений из каталога. Он автоматически применяет методы увеличения данных, такие как изменение масштаба, изменение размера и т. д. Вот пример того, как его использовать:

from keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator(rescale=1./255)
train_generator = datagen.flow_from_directory(
    'path/to/train_directory',
    target_size=(224, 224),
    batch_size=32,
    class_mode='binary'
)

Метод 2: использование функции flow_from_directory
Другой подход — напрямую использовать функцию flow_from_directory. Этот метод дает вам больше контроля над процессом загрузки данных. Вот пример:

from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
    'path/to/train_directory',
    target_size=(224, 224),
    batch_size=32,
    class_mode='binary'
)

Метод 3: использование функции load_img.
Если вам нужно загрузить одно изображение из каталога, вы можете использовать функцию load_imgиз модуля предварительной обработки Keras.. Вот пример:

from keras.preprocessing.image import load_img
image = load_img('path/to/image.jpg', target_size=(224, 224))

Метод 4: использование функции tf.keras.preprocessing.image_dataset_from_directory
В TensorFlow 2.x вы также можете использовать функцию image_dataset_from_directoryиз tf.keras.preprocessingмодуль. Он создает помеченный набор данных из файлов изображений в каталоге. Вот пример:

import tensorflow as tf
train_dataset = tf.keras.preprocessing.image_dataset_from_directory(
    'path/to/train_directory',
    labels='inferred',
    image_size=(224, 224),
    batch_size=32
)

В этой статье мы рассмотрели несколько способов загрузки изображений из каталога с помощью Keras. Мы рассмотрели использование класса ImageDataGenerator, функции flow_from_directory, функции load_imgи функции image_dataset_from_directoryиз TensorFlow 2..Икс. Используя эти методы, вы можете легко загружать и предварительно обрабатывать изображения для задач глубокого обучения и компьютерного зрения. Приятного кодирования!