AttributeError: у объекта 'function' нет атрибута 'set_model' - PullRequest
1 голос
/ 31 марта 2019

Я подгоняю модель, используя keras, и передал список обратных вызовов в модель fit_generator, но обнаружил следующую ошибку.1004 *

Фрагмент кода:

    from keras.callbacks import LearningRateScheduler
    import numpy as np
    from keras import optimizers
    from keras.callbacks import *

    def lr_schedule(epoch):
        lrate = 0.1
        if epoch > 50:
            lrate = 0.01
        elif epoch > 75:
            lrate = 0.001       
        return lrate


    filepath="latest_weight_ckpt_{epoch:02d}_{val_acc:.2f}.hdf5"
    model_ckpt = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, 
    save_best_only=True, mode='max')
    #lists = [model_ckpt]


    #model_checkpoint= ModelCheckpoint("weights/DenseNet-BC-100-12- 
    CIFAR100.h5", monitor="val_acc", 
    save_best_only=True,save_weights_only=True)

    callbacks_list=[lr_schedule, model_ckpt]

    model.fit_generator(train_generator, epochs=25, 
    steps_per_epoch=200,verbose=1, validation_steps=200, 
    validation_data=validation_generator,callbacks=callbacks_list)

1 Ответ

0 голосов
/ 31 марта 2019

Проблема в том, что вы передаете функцию python (lr_schedule) в качестве обратного вызова вместо объекта обратного вызова Keras. Вместо этого вы должны использовать обратный вызов Keras LearningRateScheduler следующим образом:

lr = LearningRateScheduler(lr_schedule)
callbacks_list=[lr, model_ckpt]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...