我使用concat將形狀[150,1]的張量t2追加到最初形狀爲[150,0]的張量t1上。我想創建一個形狀爲[150,1]的張量(在軸上連接= 1),並用新張量覆蓋t1。這裏是我的代碼:TensorFlow將連續張量分配給不同形狀的張量
t1.assign(tf.concat(1, [t1, t2]))
我得到的錯誤是:
ValueError: Dimension 1 in both shapes must be equal, but are 0 and 1
奇怪的是,我得到了同樣的錯誤,當我設置軸= 0。不知道發生了什麼;這應該是一件非常容易的事情。我懷疑它與t1的維度1爲0有什麼關係。有什麼建議嗎?提前致謝。
[編輯]
事實證明,這個問題是用 「分配」,因爲我設定值T1(形狀(150,0))到CONCAT結果(形狀(150,1)),其正在讓我的TF尖叫(理所當然)。任何方式在這個?
爲了提供更多的上下文,t1是一個張量,我用它來存儲從展開seq2seq RNN產生的logit t2,其中輸出序列具有未知長度。所以t1的大小將隨着每次展開而在維度1中增加。
這聽起來像你在正確的軌道上。你能給出一個小的,自包含的例子來說明問題嗎? –
@PeterHawkins事實證明,問題與「分配」,而不是「concat」;我不能給一個張量(150,1)(連續張量)賦予張量爲(150,0)(t1)的張量。有沒有解決的辦法? 此外,不知道這是否奇怪,但我看到你是(或者)是斯坦福大學的博士候選人。我是斯坦福大學的新生本科生! –