[英]How do i correctly shape my input data for a keras model?
我目前正在研究一個 Keras 神經網絡以獲取樂趣。 我只是在學習基礎知識,但無法克服這個維度問題:
所以我的輸入數據 (X) 應該是一個 12x6 矩陣,每個時間戳有 12 個時間戳和 6 個不同的數據值:
X = np.zeros([2867, 12, 6])
Y = np.zeros([2867, 3])
我的 Output (Y) 應該是一個單熱編碼的 3x1 向量。
現在我想通過以下 LSTM model 提供這些數據。
model = Sequential()
model.add(LSTM(30, activation="softsign", return_sequences=True, input_shape=(12, 6)))
model.add(Dense(3))
model.summary()
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(x=X, y=Y, batch_size=100, epochs=1000, verbose=2, validation_split=0.2)
摘要看起來像這樣:
Model:“順序”
Layer (type) Output Shape Param #
=================================================================
lstm (LSTM) (None, 12, 30) 4440
_________________________________________________________________
dense (Dense) (None, 12, 3) 93
=================================================================
Total params: 4,533
Trainable params: 4,533
Non-trainable params: 0
_________________________________________________________________
當我運行這個程序時,我得到這個錯誤:ValueError: Shapes (None, 3) and (None, 12, 3) is incompatible。
我已經嘗試將我的數據重塑為 72x1 向量,但這也不起作用。
也許有人可以幫助我如何正確塑造我的輸入數據:)。
您可能需要如下定義您的 model,因為您使用了categorical_crossentropy
損失 function。
model.add(LSTM(30, activation="softsign",
return_sequences=False, input_shape=(12, 6)))
model.add(Dense(3, activations='softmax'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.