LSTM 预测模型损失每次运行都不同

问题描述 投票:0回答:0

我很困惑这是怎么可能的每次运行我的模型损失都会给出不同的结果, 这是我的模特:

model=Sequential()
    model.add(Bidirectional(LSTM(50), input_shape=(time_step, 1)))
    model.add(Dense(1, activation="relu"))
    model.compile(loss='mse',optimizer='adam')
    model.summary()

    history = model.fit(X_trainSST, y_trainSST, 
            validation_data=(X_testSST,y_testSST),
            epochs=100, batch_size=256,verbose=0)

我将神经元设置为 50,将纪元设置为 200 我的模型损失图看起来不错,即使在非常低的纪元时也没有显示过度拟合或欠拟合的迹象,所以我将我的纪元降低到 100 以加快运行速度

result of 200 epoch model loss

然后它显示欠拟合的迹象...

result of 100 epoch model loss

我再次运行它仍然显示欠拟合的迹象然后我重新启动我的内核现在它完美

100 epoch after kernel restart

我已经使用此代码设置了随机种子

tf.random.set_seed(1234)
python tensorflow keras lstm recurrent-neural-network
© www.soinside.com 2019 - 2024. All rights reserved.