私はマルチクラス分類を試みていますが、ここに私のトレーニングの入力と出力の詳細があります:
train_input.shape =(1、95000、360)(各要素が長さ360の配列である長さ95000の入力配列)
train_output.shape =(1、95000、22)(22クラスがあります)
model = Sequential()
model.add(LSTM(22, input_shape=(1, 95000,360)))
model.add(Dense(22, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
model.fit(train_input, train_output, epochs=2, batch_size=500)
エラーは次のとおりです。
ValueError:入力0はレイヤーlstm_13と互換性がありません:期待されるndim = 3、行にndim = 4が見つかりました:model.add(LSTM(22、input_shape =(1、95000,360)))
私を助けてください、私は他の答えを通してそれを解決することができません。
私は作ることで問題を解決しました
入力サイズ:(95000,360,1)および出力サイズ:(95000,22)
モデルが定義されているコードの入力形状を(360,1)に変更しました:
model = Sequential()
model.add(LSTM(22, input_shape=(360,1)))
model.add(Dense(22, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
model.fit(ml2_train_input, ml2_train_output_enc, epochs=2, batch_size=500)
input_shapeは(timesteps、n_features)になるはずです。最初の次元を削除します。
input_shape = (95000,360)
出力についても同じです。