Как загрузить локальные изображения в тензор потока? - PullRequest
1 голос
/ 26 октября 2019

В документации по тензорному потоку я обнаружил, что код для загрузки набора данных с именем "flower_photos":

data_dir = tf.keras.utils.get_file (origin = 'https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz', fname= 'flower_photos', untar = True)

У меня есть несколько изображений на моем локальном компьютере, и я хочу загрузить и использовать их для выполнения некоторых алгоритмов нейронной сети, таких как CNN. Как загрузить и предварительно обработать локально сохраненное изображение в tenorflow?

1 Ответ

0 голосов
/ 26 октября 2019

Это делается с помощью функций предварительной обработки изображений из Keras.

Я приведу некоторые пояснения относительно примера из документации Keras (пожалуйста, прочитайте документы для получения дополнительной информации.)

Эта предварительная обработка обеспечивает конвейер для обучения, и есть .flow_from_directory() -метод для чтения из локальной файловой системы.

В этом примере из документов изображения дополняются путем их горизонтального перелистывания иприменяя диапазон сдвига и диапазон увеличения 0,2. Изменение масштаба выполняется для нормализации значений RGB в диапазоне от 0 до 1:

train_datagen = ImageDataGenerator(
        rescale=1./255,
        shear_range=0.2,
        zoom_range=0.2,
        horizontal_flip=True)

test_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(
        'data/train',
        target_size=(150, 150),
        batch_size=32,
        class_mode='binary')

validation_generator = test_datagen.flow_from_directory(
        'data/validation',
        target_size=(150, 150),
        batch_size=32,
        class_mode='binary')

model.fit_generator(
        train_generator,
        steps_per_epoch=2000,
        epochs=50,
        validation_data=validation_generator,
        validation_steps=800)

С этим ImageDataGenerator вы используете .fit_generator() -метод (вместо .fit()), чтобы использовать этот подготовленный конвейердля обработки вашей модели.

steps_per_epoch * batch_size должен равняться размеру ваших обучающих данных. validation_steps * batch_size должен равняться размеру ваших проверочных данных.

...