2017-06-08 9 views
2

私は時間の経過とともに私のシステムの状態を分類しようとします。ケラス:時間の経過による分類

私は、1218以上のタイムステップ33個の入力パラメータを含む100個のトレーニングサンプルを持っています。

私はX_train.shape = [100,1218,33]を持っています。

私は残念ながら、私は私が解決する方法がわからないことを、次のエラーが発生している出力Y = 0または1

model = Sequential() 
model.add(LSTM(4, input_shape=(1218 , 33), return_sequences=True)) 
model.add(TimeDistributed(Dense(1, activation = 'softmax'))) 
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) 

を予測するディープラーニングライブラリKerasを使用

ValueError: Error when checking target: expected time_distributed_3 to have 3 dimensions, but got array with shape (100, 1)

誰かがこれを修正する方法を知っていますか?

よろしくお願いいたします。

+0

タイムスタンプごとに目標値がありますか、シーケンス全体で1つのターゲットしかありませんか? – sietschie

答えて

2

入力したモデルは、シーケンスの各タイムステップのターゲットを想定しています。あなたは全体のシーケンスのための唯一の目標がある場合、あなたは次のようにモデルを変更する必要があります(とエラーメッセージ内のターゲットの形状をことを示唆している):falseに設定return_sequencesTimeDistributedラッパー削除:

model = Sequential() 
model.add(LSTM(4, input_shape=(1218 , 33), return_sequences=False)) 
model.add(Dense(1, activation = 'softmax')) 
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) 
+0

ありがとうございます。私はエラーが入力ではなくターゲットについてのものではなかったので、私は非常に疲れていたと思います。私は明日それを試してみるよ。 – AlixL

関連する問題