0

一変量のエンコーダー/デコーダー LSTM モデルを構築しようとしています。このエラーが何度も発生しました:

ValueError: 入力に NaN、無限大、または dtype('float32') には大きすぎる値が含まれています。

同じエラーについて尋ねた他の投稿を既に検索して読んでいますが、データに nan 値がないと確信しています。

LSTM の非表示の計算のために nan 値が生成されました。

エポックごとにループを実行してmodel.fit、履歴を呼び出して出力しました。

for j in range(numEpoch):
  history = model.fit(trX, targetTRAIN, epochs=1, batch_size=batchSize, verbose=0, shuffle=False, validation_split=valdSplit)
  print(history.history)

numEpoch=610 までは正常に機能し (正確な数を忘れてしまいました)、その後nan、検証の損失として表示され始めました。

これが私のモデル定義です:

numEpoch = 2000
batchSize = 1
actFunc = 'relu'
valdSplit=0.1
dropOutRate=0.2
optimizer = SGD(lr=0.01, momentum=0.9)


model = Sequential()
randSeed = randSeed + 1
kernelInitializer = RandomNormal(seed=randSeed)
model.add(LSTM(30, batch_input_shape=(batchSize, timeStep, numFeat), activation=actFunc, kernel_initializer=kernelInitializer, dropout=dropOutRate,stateful=True , return_sequences=True))
model.add(Dropout(dropOutRate))
model.add(LSTM(20,  kernel_initializer=kernelInitializer, stateful=False ,activation=actFunc, return_sequences=False))
model.add(Dropout(dropOutRate))
randSeed = randSeed + 1
kernelInitializer = RandomNormal(seed=randSeed)
model.add(Dense(numFeat, kernel_initializer=kernelInitializer, activation='linear'))
model.compile(loss='mean_squared_error', optimizer=optimizer, metrics=['accuracy'])

Train_X形状は (362, 3, 27)

必要に応じて詳細をお知らせします。

4

0 に答える 0