亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

連接 Keras 層的問題

連接 Keras 層的問題

Qyouu 2022-12-27 10:10:56
我正在嘗試構建一個 LSTM 模型,以使用 Zipcode 或 PinCode 過去 7 天的溫度、降雨量等來預測給定日期的溫度。我知道訓練數據集需要被塑造成(觀察、時間步長、特征)。我想我的情況下的特征是溫度、降雨量和時間步長為 7。因此,如果我有 2 個特征和 7 個時間步長,則一次觀察總共會有 14 個變量。我還具有狀態、區域(比如北、西、東、中等)等所有 7 個時間步共有的特征。由于每個觀測值都是一個郵政編碼,對于一個郵政編碼的所有 7 天(7 個時間步長),郵政編碼所屬的地理州和區域將是相同的。由于我們不能向 LSTM 輸入特征(對所有時間步都是通用的),我已經使用 Keras 函數式 API 將這些時間特征提供給 LSTM,并獲取 LSTM 的輸出并將其與非時間特征(狀態、區域等)連接起來,然后在最后有一個密集層。下面是我的代碼Input_LSTM = Input(shape=(7, 2), batch_size=32)  # 7 timesteps and 2 featuresx = LSTM(5,  stateful=True)(Input_LSTM)x = Dropout(0.2)(x)Input_MLP = Input(shape=(261,),batch_size=32)  x = concatenate([x,Input_MLP], axis=1)  # Join non-temporal input with LSTM o/p to be fed to a Dense    # layerOutput = Dense(1)(x)model = Model([Input_LSTM,Input_MLP],Output)因為我已經聲明 LSTM 是有狀態的,所以我已經為時態和非時態輸入提供了 batch_size。當我嘗試使用行“x = concatenate([x,Input_MLP], axis=1)” 進行連接時,出現錯誤  File "<__array_function__ internals>", line 6, in concatenateValueError: zero-dimensional arrays cannot be concatenated”連接的兩個元素的形狀如下x.shapeOut[186]: TensorShape([Dimension(32), Dimension(5)])      #  Here 5 is the number of neurons in LSTM, 32 is the batch sizeInput_MLP.shapeOut[187]: TensorShape([Dimension(32), Dimension(261)])   # Here 261 is the no. of non-temporal features and 32 is the batch size從網上查到零維數組是標量。但是從上面它們的形狀來看,它們似乎并不是標量。我還嘗試了一個以 Input_MLP 作為輸入的 Dense 層,并嘗試將這個 Dense 層的輸出與 x 連接起來,但沒有成功。我在網上找不到答案。我究竟做錯了什么?任何幫助將不勝感激。
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

我找到了問題所在。連接 keras 層的函數必須與大寫字母 C 連接。因為我使用的是帶有小寫字母“c”的函數,所以它是 numpy 函數,因此它給出了那個錯誤。一個小錯字讓我浪費了很多時間



查看完整回答
反對 回復 2022-12-27
  • 1 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號