[英]Tensor Reshape No-op in RNN example
重塑的語義與numpy中的相似: http : //docs.scipy.org/doc/numpy/reference/generation/numpy.reshape.html
它將張量更改為具有二維,第二維應具有self.state_size元素。 例如,如果我的張量包含6個元素,並且將其重塑為[-1,2],則第一維將包含6/2 = 3個元素。
拉法爾的榜樣很棒。 我記得-1的方式是,它將維度的大小設置為適合原始張量中所有數據所需的大小。 重塑中只能有一個-1。
如果原始張量的大小為a,b,c(元素總數= a b c),則將其調整為x,y,-1,
那么結果將是-1最終為b c /(y * z)。
重塑為9,3,-1的3,3,3張量(27個元素)實際上將具有9,3,1(27個元素)的大小
文檔模糊地暗示了-1的行為。
如果shape是特殊值[-1],則將張量展平,並且該操作將輸出帶有所有張量元素的一維張量。
當形狀是一個數組(其中元素之一為-1)時,該值只是一些可能會產生相同形狀的整數的便捷占位符。 請注意,可能沒有這樣的整數(例如,如果您的起始矩陣為[5x5]
,則無法使用[7, -1]
對其進行整形)。
還如您所見,不能有兩個-1,因為這會使形狀不明確。 如前所述,該行為類似於numpy的reshape 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.