Keras ImageDataGenerator Предварительная обработка

Alex R. спросил: 03 февраля 2018 в 10:22 в: tensorflow

В качестве примера рассмотрим тонкую настройку модели Resnet50 в Keras. Например, здесь :

from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.preprocessing.image import ImageDataGenerator
from keras.applications.resnet50 import preprocess_input, decode_predictions
import numpy as npmodel = ResNet50(weights='imagenet')train_datagen = ImageDataGenerator()
train_generator = train_datagen.flow_from_directory(
     "./data/train",
    target_size=(299, 299),
    batch_size=50,
    class_mode='binary')
model.fit_generator(train_generator, steps_per_epoch=100)

Что меня смущает, почему ImageDataGenerator не получает спецификацию preprocessing_function что согласуется с тем, что ожидает Resnet50. Конкретно Resnet50.preprocess_input() предоставляется в пакете ResNet50. ImageDataGenerator's выглядит так:

keras.preprocessing.image.ImageDataGenerator(featurewise_center=False,
    samplewise_center=False,
    featurewise_std_normalization=False,
    samplewise_std_normalization=False,
    zca_whitening=False,
    zca_epsilon=1e-6,
    rotation_range=0.,
    width_shift_range=0.,
    height_shift_range=0.,
    shear_range=0.,
    zoom_range=0.,
    channel_shift_range=0.,
    fill_mode='nearest',
    cval=0.,
    horizontal_flip=False,
    vertical_flip=False,
    rescale=None,
    preprocessing_function=None,
    data_format=K.image_data_format())

Итак, я смущен, какова будет правильная инициализация ImageDataGenerator. Я мог бы установить preprocessing_function=resnet50.Resnet50.preprocess_input, но тогда я не уверен, что установить для остальных параметров ImageDataGenerator, так как некоторые из них отличны от нуля, как и для zca.

Примечание: I Я не просто интересуюсь Resnet50, но и для модели ANY вообще. По-видимому, в Keras есть некоторые значения по умолчанию, например, дефолт по умолчанию "caffe" или "начальная".

0 ответов