Загрузка изображений из каталога — обычная задача во многих проектах глубокого обучения и компьютерного зрения. 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..Икс. Используя эти методы, вы можете легко загружать и предварительно обрабатывать изображения для задач глубокого обучения и компьютерного зрения. Приятного кодирования!