第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Keras 回歸模型損失:nan。如何修復(fù)它?

Keras 回歸模型損失:nan。如何修復(fù)它?

嗶嗶one 2023-07-27 16:30:10
我一直遭受損失:nan 輸出。如何解決這個問題?from sklearn.datasets import fetch_california_housinghousing = fetch_cawwwlifornia_housing()X_train_full, X_test, y_train_full, y_test = train_test_split(? ? housing.data, housing.target)X_train, X_valid, y_train, y_valid = train_test_split(? ? X_train_full, y_train_full)scaler = StandardScaler()X_train_scaled = scaler.fit_transform(X_train)X_valid_scaled = scaler.transform(X_valid)X_test_scaled = scaler.transform(X_test)X_train_A, X_train_B = X_train[:, :5], X_train[:, 2:]X_valid_A, X_valid_B = X_valid[:, :5], X_valid[:, 2:]X_test_A, X_test_B = X_test[:, :5], X_test[:, 2:]X_new_A, X_new_B = X_test_A[:3], X_test_B[:3]input_A = keras.layers.Input(shape=[5], name="wide_input")input_B = keras.layers.Input(shape=[6], name="deep_input")hidden1 = keras.layers.Dense(30, activation="relu")(input_B)hidden2 = keras.layers.Dense(30, activation="relu")(hidden1)concat = keras.layers.concatenate([input_A, hidden2])output = keras.layers.Dense(1, name="main_output")(concat)aux_output = keras.layers.Dense(1, name="aux_output")(hidden2)model = keras.models.Model(inputs=[input_A, input_B],? ? ? ? ? ? ? ? ? ? ? ? ? ?outputs=[output, aux_output])model.compile(loss=["mse", "mse"], loss_weights=[0.9, 0.1], optimizer="sgd")history = model.fit(? ? [X_train_A, X_train_B], [y_train, y_train], epochs=20,? ? validation_data=([X_valid_A, X_valid_B], [y_valid, y_valid]))輸出Train on 11610 samples, validate on 3870 samplesEpoch 1/2011610/11610 [==============================] - 6s 525us/sample - loss: nan - main_output_loss: nan - aux_output_loss: nan - val_loss: nan - val_main_output_loss: nan - val_aux_output_loss: nanEpoch 2/2011610/11610 [==============================] - 4s 336us/sample - loss: nan - main_output_loss: nan - aux_output_loss: nan - val_loss: nan - val_main_output_loss: nan - val_aux_output_loss: nanEpoch 3/20
查看完整描述

1 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊

NaN 通常是由學(xué)習(xí)率過高或優(yōu)化過程中類似的不穩(wěn)定性引起的,從而導(dǎo)致梯度爆炸。這也可以通過設(shè)置來防止clipnorm。設(shè)置具有適當(dāng)學(xué)習(xí)率的優(yōu)化器:


opt = keras.optimizers.Adam(0.001, clipnorm=1.)

model.compile(loss=["mse", "mse"], loss_weights=[0.9, 0.1], optimizer=opt)

可以在筆記本上進(jìn)行更好的訓(xùn)練:


Epoch 1/20

363/363 [==============================] - 1s 2ms/step - loss: 1547.7197 - main_output_loss: 967.1940 - aux_output_loss: 6772.4609 - val_loss: 19.9807 - val_main_output_loss: 20.0967 - val_aux_output_loss: 18.9365

Epoch 2/20

363/363 [==============================] - 1s 2ms/step - loss: 13.2916 - main_output_loss: 14.0150 - aux_output_loss: 6.7812 - val_loss: 14.6868 - val_main_output_loss: 14.5820 - val_aux_output_loss: 15.6298

Epoch 3/20

363/363 [==============================] - 1s 2ms/step - loss: 11.0539 - main_output_loss: 11.6683 - aux_output_loss: 5.5244 - val_loss: 10.5564 - val_main_output_loss: 10.2116 - val_aux_output_loss: 13.6594

Epoch 4/20

363/363 [==============================] - 1s 1ms/step - loss: 7.4646 - main_output_loss: 7.7688 - aux_output_loss: 4.7269 - val_loss: 13.2672 - val_main_output_loss: 11.5239 - val_aux_output_loss: 28.9570

Epoch 5/20

363/363 [==============================] - 1s 2ms/step - loss: 5.6873 - main_output_loss: 5.8091 - aux_output_loss: 4.5909 - val_loss: 5.0464 - val_main_output_loss: 4.5089 - val_aux_output_loss: 9.8839

它的表現(xiàn)并不令人驚訝,但您必須從這里優(yōu)化所有超參數(shù)才能將其調(diào)整到滿意的程度。


您還可以按照您最初的預(yù)期使用 SGD 來觀察 Clipnorm 的效果:


opt = keras.optimizers.SGD(0.001, clipnorm=1.)

model.compile(loss=["mse", "mse"], loss_weights=[0.9, 0.1], optimizer=opt)

這樣訓(xùn)練得當(dāng)。但是,一旦刪除clipnorm,您就會得到NaNs。


查看完整回答
反對 回復(fù) 2023-07-27
  • 1 回答
  • 0 關(guān)注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號