Python keras val_损失每次都不同
我是Keras的新手。我正在研究一个具有LSTM层的深度学习模型。Python keras val_损失每次都不同,python,tensorflow,keras,neural-network,lstm,Python,Tensorflow,Keras,Neural Network,Lstm,我是Keras的新手。我正在研究一个具有LSTM层的深度学习模型。 但是每种类型的val_损失输出都有很大不同。 例如,这是我第一次运行的输出: Using TensorFlow backend. Epoch 1/40 500/500 [==============================] - 10s 19ms/step - loss: 0.4310 - val_loss: 1.9291 Epoch 2/40 500/500 [=============================
但是每种类型的val_损失输出都有很大不同。
例如,这是我第一次运行的输出:
Using TensorFlow backend.
Epoch 1/40
500/500 [==============================] - 10s 19ms/step - loss: 0.4310 - val_loss: 1.9291
Epoch 2/40
500/500 [==============================] - 8s 16ms/step - loss: 0.2082 - val_loss: 2.1047
Epoch 3/40
500/500 [==============================] - 8s 17ms/step - loss: 0.1810 - val_loss: 2.1206
Epoch 4/40
500/500 [==============================] - 8s 15ms/step - loss: 0.1679 - val_loss: 2.2483
Epoch 1/40
500/500 [==============================] - 8s 16ms/step - loss: 0.4424 - val_loss: 0.2251
Epoch 2/40
500/500 [==============================] - 8s 17ms/step - loss: 0.2142 - val_loss: 0.2313
Epoch 3/40
500/500 [==============================] - 8s 16ms/step - loss: 0.1807 - val_loss: 0.2031
Epoch 4/40
500/500 [==============================] - 8s 16ms/step - loss: 0.1682 - val_loss: 0.2667
这是我的第二个运行输出:
Using TensorFlow backend.
Epoch 1/40
500/500 [==============================] - 10s 19ms/step - loss: 0.4310 - val_loss: 1.9291
Epoch 2/40
500/500 [==============================] - 8s 16ms/step - loss: 0.2082 - val_loss: 2.1047
Epoch 3/40
500/500 [==============================] - 8s 17ms/step - loss: 0.1810 - val_loss: 2.1206
Epoch 4/40
500/500 [==============================] - 8s 15ms/step - loss: 0.1679 - val_loss: 2.2483
Epoch 1/40
500/500 [==============================] - 8s 16ms/step - loss: 0.4424 - val_loss: 0.2251
Epoch 2/40
500/500 [==============================] - 8s 17ms/step - loss: 0.2142 - val_loss: 0.2313
Epoch 3/40
500/500 [==============================] - 8s 16ms/step - loss: 0.1807 - val_loss: 0.2031
Epoch 4/40
500/500 [==============================] - 8s 16ms/step - loss: 0.1682 - val_loss: 0.2667
我不知道为什么会发生这种情况,我无法用它来解决过盈问题。这是我的密码:
from keras.models import Sequential
from keras import layers
from keras.optimizers import RMSprop
from keras import regularizers
model = Sequential()
model.add(layers.LSTM(64,
kernel_regularizer=regularizers.l2(0.01),
dropout=0.2,
recurrent_dropout=0.5,
input_shape=(None, float_data.shape[-1])))
model.add(layers.Dense(1))
model.compile(optimizer=RMSprop(), loss='mae')
history = model.fit_generator(train_gen,
steps_per_epoch=500,
epochs=40,
validation_data=val_gen,
validation_steps=val_steps)
我的数据大小为2733行×50列,批处理大小为32。谢谢你的帮助!如果需要,我可以提供更多的代码。我不认为代码有任何问题。这只是一点随机性,正如任何形式的机器学习所期望的那样。只要损失值没有太大的波动,这就应该是一个问题。把它想象成计算机学习同样的东西,但步骤不同
干杯 您在训练时正在改变重量。当然,验证丢失会发生变化。。希望它会下降,并与训练损失类似,这可能意味着你没有过度适应 谢谢你的回复!我上传了两张val_loss的图片,同样的代码看起来很奇怪。谢谢你的回复。我上传了两张val_loss图像,是否过度拟合?您有多少数据点?一批有多大?你能把实验再进行一段时间吗?