Keras模型损失从0开始,但有时只是

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

我正在尝试了解哪些输入参数可能适用于我的数据,因此我正在训练多个模型并尝试比较结果。由于某些原因,即使精度非常低,某些模型的启动也会丢失0。我的代码看起来像: first=keras.models.Sequential() first.add(keras.layers.LSTM(100, activation = 'tanh', input_shape = (X.shape[1], 1), return_sequences = True)) first.add(keras.layers.Dense(Y.shape[2], activation = 'softmax')) first.compile(optimizer = 'rmsprop', loss = 'categorical_crossentropy', metrics=['categorical_accuracy']) models["first"]=first

我有一系列代码块,比如在每个代码块中更改一些参数。甚至在我尝试适应之前,其中一些损失已经为0(或2.79e-7),但没有任何真正的一致性。有时第一个模型会出现这个问题,有时候会出现问题。我甚至试图在发生这种情况时重新生成数据和模型,但是当我这样做时,损失== 0问题的几率似乎上升了。输入数据的格式为[[[[5],[7],[3] ...] ...],并且在我通过keras.utils.to_categorical运行它们之前标签是相同的,它现在是1热。我相当肯定输入和标签是正确的,因为任何给定的模型大多数时间都能正常工作。

此时任何建议都会有用。

编辑:这似乎只发生在GPU上运行时。当我强制TensorFlow仅在CPU上运行时没有问题。知道什么原因导致GPU出现问题吗?

python tensorflow keras lstm
1个回答
0
投票

尝试将随机种子设置为可重复性:

random.seed(10)

此外,如果模型是无状态的,则在每个序列处重置单元状态。但是,如果不是,例如,如果您使用stateful = True,则需要在每次训练运行后重置状态。

© www.soinside.com 2019 - 2024. All rights reserved.