【发布时间】:2018-08-29 20:10:14
【问题描述】:
我正在尝试了解哪些输入参数可能适合我的数据,因此我正在训练多个模型并尝试比较结果。出于某种原因,即使准确度非常低,某些模型开始时也会损失 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 hot .我相当确定输入和标签是正确的,因为任何给定的模型在大多数情况下都能正常工作。
此时任何建议都会很有用。
编辑:这似乎只发生在 GPU 上运行时。当我强制 TensorFolw 仅在 CPU 上运行时,没有任何问题。知道是什么导致 GPU 出现问题吗?
【问题讨论】:
标签: python tensorflow keras lstm