Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python keras val_损失每次都不同_Python_Tensorflow_Keras_Neural Network_Lstm - Fatal编程技术网

Python keras val_损失每次都不同

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 [=============================

我是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 [==============================] - 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图像,是否过度拟合?您有多少数据点?一批有多大?你能把实验再进行一段时间吗?