keras model.load_weights error NoneType对象没有属性“fit”

2024-10-03 17:25:51 发布

您现在位置:Python中文网/ 问答频道 /正文

希望有人能帮上忙,我正试图在另一个预先训练好的模型的基础上训练一个模型,但我一直遇到这个错误

提前谢谢。 和快乐的编码

模型

model = Unet(backbone_name=efficientnetb2, encoder_weights='imagenet',
             input_shape=(256, 256, 3),
             classes=1, activation='sigmoid')
    model = get_model(
        mparams['backbone'], 
        input_shape=(mparams['img_size'], mparams['img_size'], 3),
        loss_type=mparams['loss'],
        umodel=mparams['umodel'],
        lr=mparams['lr']
    )
    
    # load model
    model = model.load_weights('./models_v24/model_0.hdf5')

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-19-b3a8ba8f71c6> in <module>
     41             resize=None
     42         )
---> 43         model, history = train_model(PARAMS, n, train_datagen, val_datagen)
     44         plt.plot(history.history['loss'], label='loss')
     45         plt.plot(history.history['val_loss'], label='val_loss')

<ipython-input-17-191deeedc4ed> in train_model(mparams, n_fold, train_datagen, val_datagen)
     53     model = model.load_weights('./models_v24/model_0.hdf5')
     54 
---> 55     history = model.fit(
     56                         train_datagen,
     57                         validation_data=val_datagen,

AttributeError: 'NoneType' object has no attribute 'fit'


Tags: 模型imginputsizemodelloadtrainval
1条回答
网友
1楼 · 发布于 2024-10-03 17:25:51

您的评论# load model不正确。您只是在此处加载权重,而不是整个模型。当以HDF5格式加载权重时,此函数返回None,这解释了此处的当前错误

如果创建了模型,您只需要model.load_weights('./models_v24/model_0.hdf5')。那么你应该能够适应这个模型

model = get_model(...)

# load weights
model.load_weights('./models_v24/model_0.hdf5')

我还注意到你没有接受SO中的一些答案。请看一下What should I do when someone answers my question?

相关问题 更多 >