今天用到pad函式,看文件看了老半天,後面終於弄懂了。
以下是本人的理解總結
文件的內容:
# 't' is [[1, 2, 3], [4, 5, 6]].
# 'paddings' is [[1, 1,], [2, 2]].
# 'constant_values' is 0.
# rank of 't' is 2.
pad(t, paddings, "constant") ==> [[0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 2, 3, 0, 0],
[0, 0, 4, 5, 6, 0, 0],
[0, 0, 0, 0, 0, 0, 0]]
pad(t, paddings, "reflect") ==> [[6, 5, 4, 5, 6, 5, 4],
[3, 2, 1, 2, 3, 2, 1],
[6, 5, 4, 5, 6, 5, 4],
[3, 2, 1, 2, 3, 2, 1]]
pad(t, paddings, "symmetric") ==> [[2, 1, 1, 2, 3, 3, 2],
[2, 1, 1, 2, 3, 3, 2],
[5, 4, 4, 5, 6, 6, 5],
[5, 4, 4, 5, 6, 6, 5]]
思路理解:
tf.pad的使用,第乙個是填充0,後面兩個是複製前幾行或者列
[1,1],[2,2]
[1,1]指的是向上擴充一行,向下擴充一行
[2,2]指的是向左擴充2列,向右擴充2列
1.constant模式,按上下左右填充幾行或者幾列的0
paddings=[[1,1],[2,2]]的意思是向上填充一行0,向下填充一行0,向左填充二行0,向右填充兩行0
向上填充一行0,變成
0,0,0
1,2,3
4,5,6
向下填充一行0
0,0,0
1,2,3
4,5,6
0,0,0
向左填充二行0
0,0,0,0,0
0,0,1,2,3
0,0,4,5,6
0,0,0,0,0
向右填充兩行0
0,0,0,0,0,0,0
0,0,1,2,3,0,0
0,0,4,5,6,0,0
0,0,0,0,0,0,0
2.reflect模式,首先要定好邊緣(可理解為對稱軸),按邊緣翻(邊緣不複製)
比如剛開始
1, 2, 3
4, 5, 6
向上翻一行,以123為對稱軸
4,5,6
1,2,3
4,5,6
向下翻一行,以4,5,6為對稱軸
4,5,6
1,2,3
4,5,6
1,2,3
以列4,1,4,1為對稱軸,向左翻二行
6,5,4,5,6
3,2,1,2,3
6,5,4,5,6
3,2,1,2,3
以列6,3,6,3為對稱軸,向右翻2行
6,5,4,5,6,5,4
3,2,1,2,3,2,1
6,5,4,5,6,5,4
3,2,1,2,3,2,1
3.symmetric類似的,唯一的區別是把邊緣(也就是對稱軸)也複製了,從對稱軸開始複製
比如剛開始
1, 2, 3
4, 5, 6
向上翻一行,以123為對稱軸,從對稱軸開始複製
1,2,3
1,2,3
4,5,6
向下翻一行,以4,5,6為對稱軸
1,2,3
1,2,3
4,5,6
4,5,6
以列1,1,4,4為對稱軸,向左翻二行
2,1,1,2,3
2,1,1,2,3
5,4,4,5,6
5,4,4,5,6
以列3,3,6,6為對稱軸,向右翻2行
2,1,1,2,3,3,2
2,1,1,2,3,3,2
5,4,4,5,6,6,5
5,4,4,5,6,6,5
c 中 p a和p a的區別
大學初學指標的時候,時常懵逼,有時候覺得自己已經掌握了,但是一看複雜的程式和原始碼裡的指標用法,就又蒙了,以至於談指標色變。至於二級指標,陣列指標 指標陣列 函式指標什麼的更是被嚇懵。現在來逐個擊破他們,為我們的程式設計道路掃清阻礙。首先需要明白一點的是,指標是個變數,它和int型別 float型別...
關於TensorFlow安裝
筆者今日對tensorflow產生濃厚興趣,但在安轉過程中遇到一系列問題,去找資料無奈發現基本上都是複製別人的答案,到最後並沒有解決問題,於是去逛了一些國外的 捯飭了許久終於安裝成功了,下面介紹一下。一開始是檢查一下自己的python版本,在terminal輸入 python顯示 筆者為2.7.12...
Extjs中ViewPort動態更換Panel
我們在使用extjs進行開發單頁面應用時,我們構建了乙個viewport有時候可能希望對viewport中的items進行動態替換,網上也有很多的資料但是都只說了個大概並沒有詳細說明,這裡我將對遇到這種需求時如何處理進行詳細介紹。環境extjs 4.2 首先我們來看viewport 選單model ...