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

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

具有多個輸入的 Keras TimeDistributed 層

具有多個輸入的 Keras TimeDistributed 層

慕勒3428872 2021-07-21 17:09:30
我正在嘗試使以下代碼行工作:low_encoder_out = TimeDistributed( AutoregressiveDecoder(...) )([X_tf, embeddings])AutoregressiveDecoder需要兩個輸入的自定義層在哪里。經過一番谷歌搜索,問題似乎是TimeDistributed包裝器不接受多個輸入。有一些解決方案建議在將兩個輸入饋送到圖層之前合并兩個輸入,但由于它們的形狀是X_tf.shape: (?, 16, 16, 128, 5)embeddings.shape: (?, 16, 1024)我真的不知道如何合并它們。有沒有辦法讓TimeDistributed圖層處理多個輸入?或者,有沒有辦法以一種很好的方式合并兩個輸入?
查看完整描述

1 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

正如你提到的TimeDistributed層不支持多個輸入??紤]到所有輸入的時間步長(即第二軸)的數量必須相同這一事實,一種(不太好的)解決方法是將所有輸入重塑為(None, n_timsteps, n_featsN),將它們連接起來,然后將它們作為TimeDistributed層的輸入:


X_tf_r = Reshape((n_timesteps, -1))(X_tf)

embeddings_r = Reshape((n_timesteps, -1))(embeddings)


concat = concatenate([X_tf_r, embeddings_r])

low_encoder_out = TimeDistributed(AutoregressiveDecoder(...))(concat)

當然,您可能需要修改自定義圖層的定義,并在必要時將輸入分開。


查看完整回答
反對 回復 2021-07-28
  • 1 回答
  • 0 關注
  • 273 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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