Масштабирование изображений в mnist

Итак, я пытаюсь загрузить данные и изменить масштаб значений изображений и вернуть масштабированные наборы поездов и тестов. Вот что я пытаюсь:

import numpy as np
from tensorflow import keras
from keras.datasets import mnist
from keras.preprocessing.image import ImageDataGenerator
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
datagen = ImageDataGenerator(rescale=1.0/255.0)

Он неполный, и я не знаю, как поступить после этого.


person Xtense    schedule 16.07.2020    source источник


Ответы (1)


Вы можете использовать метод flow в ImageDataGenerator (дополнительную информацию см. в документации) следующим образом:

Ожидается, что входное измерение будет reshaped с 4 измерениями. Поскольку набор данных mnist имеет 60000 изображений и 28*28 высоты и ширины с одним каналом. Измененный размер будет (60000, 1, 28, 28)

training_set = datagen.flow(train_images.reshape(train_images.shape[0], 1, 28, 28), train_labels)

test_set = datagen.flow(test_images.reshape(test_images.shape[0], 1, 28, 28), test_labels)

Вы должны определить архитектуру своей модели по мере необходимости, а затем использовать функцию fit_generator.

Обучите свою модель

classifier.fit_generator(training_set, 
                         steps_per_epoch=10, 
                         validation_data= test_set, 
                         validation_steps=20, 
                         epochs=5)
person Narendra Prasath    schedule 16.07.2020
comment
Подробнее об этом читайте на странице документации keras.io/api/preprocessing/image. Лучший - person smile; 16.07.2020
comment
Как я должен восстановить масштабированные поезда и наборы тестов после этого - person Xtense; 16.07.2020
comment
Вы можете повторить training_set, используя цикл for, чтобы получить соответствующие данные в виде списка - person Narendra Prasath; 16.07.2020