Увеличивает ли этот фрагмент кода входные данные? - PullRequest
0 голосов
/ 02 августа 2020
model=tf.keras.Sequential(
[
    Conv2D(filters=1, kernel_size=(3, 3), activation='relu', strides=1, padding='same'),    
    MaxPooling2D(pool_size=(4, 4)),
    
    Flatten(),
    Dense(6,activation="softmax")
    
])

model.compile(loss='CategoricalCrossentropy',
              optimizer='adam',
              metrics=['accuracy'])

train_datagen = ImageDataGenerator(                                  # Real time data augmentation
        rescale=1./255,
        shear_range=0.2,
        zoom_range=0.2,
        horizontal_flip=True)

train_generator = train_datagen.flow_from_directory(            # Loads the File which contains the images.
        'train',                                                # Returns x (numpy array containing a batch of images)
        target_size=(150, 150),                                 # and correcponding labels
        class_mode='categorical')

model.fit( train_generator,
        batch_size=100,
        epochs=1)

Вывод этого кода не предоставляет никакой информации об увеличении данных. Так может ли кто-нибудь уточнить, дополняет ли этот код доступные данные?

1 Ответ

0 голосов
/ 02 августа 2020

Приведенный ниже код дополняет входные изображения, как вы написали

train_datagen = ImageDataGenerator(# Real time data augmentation
    rescale=1./255,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True)

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

Например, один из способов узнать, работает ли rescale=1./255 увеличение, - это распечатать результат train_generator, чтобы проверить, находятся ли значения между 0 - 1 (normalized) или 0 - 255 (default).

image, label = next(train_generator) # return a single iteration batch
print(image.shape) #single batch list, if batch not specified (default is 32)
print(image[0].shape) # single image shape
print(image[0]) # single image output

, вы получите результат, который выглядит следующим образом:

enter image description here

This shows that the resized image works, else you will get something like this

введите описание изображения здесь

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...