亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在keras中多次擬合模型

在keras中多次擬合模型

喵喔喔 2023-10-06 16:41:53
我使用了model.fit()幾次,每次負責訓練一個層塊,其中其他層被凍結代碼 # create the base pre-trained model    base_model = efn.EfficientNetB0(input_tensor=input_tensor,weights='imagenet', include_top=False)    # add a global spatial average pooling layer    x = base_model.output    x = GlobalAveragePooling2D()(x)        # add a fully-connected layer    x = Dense(x.shape[1], activation='relu',name='first_dense')(x)    x=Dropout(0.5)(x)    x = Dense(x.shape[1], activation='relu',name='output')(x)    x=Dropout(0.5)(x)    no_classes=10    predictions = Dense(no_classes, activation='softmax')(x)    # this is the model we will train    model = Model(inputs=base_model.input, outputs=predictions)    # first: train only the top layers (which were randomly initialized)    # i.e. freeze all convolutional layers    for layer in base_model.layers:        layer.trainable = False    #FIRST COMPILE    model.compile(optimizer='Adam', loss=loss_function,                 metrics=['accuracy'])    #FIRST FIT    model.fit(features[train], labels[train],              batch_size=batch_size,              epochs=top_epoch,              verbose=verbosity,              validation_split=validation_split)    # Generate generalization metrics    scores = model.evaluate(features[test], labels[test], verbose=1)        print(scores)     #Let all layers be trainable            for layer in model.layers:        layer.trainable = True        from tensorflow.keras.optimizers import SGD奇怪的是,在第二次擬合中,第一個時期的準確率比第一次擬合的最后一個時期的準確率低得多。結果Epoch 40/40 6286/6286 [================================] - 14s 2ms/樣本 - 損失:0.2370 - 準確度:0.9211 - val_loss:1.3579 - val_accuracy:0.6762 874/874 [================================] - 2s 2ms/樣本- 損失:0.4122 - 準確度:0.8764在 6286 個樣本上進行訓練,在 1572 個樣本上進行驗證 Epoch 1/40 6286/6286 [================================] - 60 秒9ms/樣本 - 損失:5.9343 - 準確度:0.5655 - val_loss:2.4981 - val_accuracy:0.5115我認為第二次擬合的權重不是從第一次擬合中獲取的
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

我認為這是使用不同優化器的結果。您在第一次擬合中使用了 Adam,在第二次擬合中使用了 SGD。嘗試在第二次擬合中使用 Adam,看看它是否正常工作



查看完整回答
反對 回復 2023-10-06
?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

我通過刪除第二個編譯器解決了這個問題。



查看完整回答
反對 回復 2023-10-06
  • 2 回答
  • 0 關注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號