TensorFlow中關於pad函式的詳細理解

2021-08-08 03:12:35 字數 2088 閱讀 3753

今天用到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 ...