簡體   English   中英

如何正確塑造 keras model 的輸入數據?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM