Tensorflow中pad函式解析

2021-08-28 13:42:12 字數 2399 閱讀 4923

參考於:

函式定義

tf.pad(

tensor,

paddings,

mode='constant',

name=none,

constant_values=0

)

引數說明

tensor 被填充的張量 paddings 填充的格式 mode 填充模式:"constant"、"reflect"、"symmetric" name 該操作張量的名稱 constant_values 用於在"constant"模式下,設定的填充值。

以下是例子說明

文件的內容:

# '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

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

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

tensorflow2 0之one hot函式使用

先了解一下one hot要幹啥吧。來,咱先看個程式,你一定會很眼熟的。嘿,是不是發現什麼了?labels向量最後可以表示乘矩陣的方式,且 1 0 0 表示0,類推 0 1 0 0 表示1,這樣,可以表示 0 9總共九個數值。one hot的作用就是這樣的,作為儲存標籤的一種方式,用1的位置不同來區分...

Numpy中的pad函式

title numpy中的pad函式 date 2017 07 30 14 25 06 categories 填補乙個陣列。pad array,pad width,mode,kwars 其中array為要填補的陣列 input pad width是在各維度的各個方向上想要填補的長度,如 2,3 4,...