簡體   English   中英

RNN示例中的Tensor Reshape No-op

[英]Tensor Reshape No-op in RNN example

到底這是什么代碼的方法做zero_stateRNNCell在文件rnn_cell.py 我不確定[-1, n]形式的含義是什么...

在此處輸入圖片說明

重塑的語義與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.

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