Как использовать генератор данных изображения Keras в классе Sklearn AdaBoost - PullRequest
0 голосов
/ 18 января 2020

Я хочу реализовать алгоритм обучения ансамбля, который представляет собой AdaBoost для CNN с использованием SkLearn и Keras, у меня есть собственный набор данных, и у меня не так много оперативной памяти, поэтому я хочу использовать онлайн-расширение данных с помощью класса Keras ImageDataGenerator что позволяет мне использовать онлайн-увеличение данных и не загружает весь набор данных сразу, что помогает в случае нехватки оперативной памяти.

Код генератора данных моего изображения:

train_data_generator = ImageDataGenerator(rescale=1.0 / 255.0, preprocessing_function=preprocess_input,
                                    horizontal_flip=True,
                                    vertical_flip=True,
                                    brightness_range=[0.2, 1.0])

test_data_generator = ImageDataGenerator(rescale=1.0 / 255.0, preprocessing_function=preprocess_input)

train_generator = train_data_generator.flow_from_directory(
    'trainset/',
    target_size=(image_size, image_size),
    batch_size=BATCH_SIZE_TRAINING,
    class_mode='categorical')

test_generator = test_data_generator.flow_from_directory(
    'testset/',
    target_size=(image_size, image_size),
    batch_size=BATCH_SIZE_VALIDATION,
    class_mode='categorical')

Мой Код CNN и AdaBoost:

def simple_model():
    # create model
    model = Sequential()
    model.add(Dense(25, input_dim=x_train.shape[1], kernel_initializer='normal', activation='relu'))
    model.add(Dropout(0.2, input_shape=(x_train.shape[1],)))
    model.add(Dense(10, kernel_initializer='normal', activation='relu'))
    model.add(Dense(1, kernel_initializer='normal'))
    # Compile model
    model.compile(loss='mean_squared_error', optimizer='adam')
    return model

cnn_estimator = KerasRegressor(build_fn= simple_model, epochs=100, batch_size=10, verbose=0)
boosted_cnn = AdaBoostRegressor(base_estimator= cnn_estimator)

Итак, как мне прикрепить мой первый код ко второму коду.

...