tensorflowのtf.pad使用
2175 ワード
(1)2次元,元のtの大きさは2 x 3であり,paddingsは2次元マトリクスでなければならず,その行数はtの次元と同じであることを理解できる.
(2)tの大きさは2 x 3で2次元なのでpaddingsの行数は2
(3)i=0,1に対してpaddings[i][0]はtをこの次元の前面に充填することを示し、paddings[i][1]はtをこの次元の背面に充填することを示す
(4)例えばi=0,paddings[0][0]=1,paddings[0][1]=1であれば,tの最初の次元に対して元の個数は2である.
(5)充填後の個数がpaddings[0][0]+2+paddings[0][1]=4になる
(6)はi=1,paddings[1][0]=2,paddings[1][1]=2,tの2次元に対して元の個数は3である.
(7)充填後の個数がpaddingsとなる[1][0]+2+paddings[1][1]=6
(8)三次元から高次元まで,前述の説明を経て,このときよく理解できるはずである.
(9)明らかに、次元ごとの個数の変化がはっきりしている~
(2)tの大きさは2 x 3で2次元なのでpaddingsの行数は2
(3)i=0,1に対してpaddings[i][0]はtをこの次元の前面に充填することを示し、paddings[i][1]はtをこの次元の背面に充填することを示す
(4)例えばi=0,paddings[0][0]=1,paddings[0][1]=1であれば,tの最初の次元に対して元の個数は2である.
(5)充填後の個数がpaddings[0][0]+2+paddings[0][1]=4になる
(6)はi=1,paddings[1][0]=2,paddings[1][1]=2,tの2次元に対して元の個数は3である.
(7)充填後の個数がpaddingsとなる[1][0]+2+paddings[1][1]=6
t = tf.constant([[1, 2, 3], [4, 5, 6]])
paddings = tf.constant([[1, 1,], [2, 2]])
# 'constant_values' is 0.
# rank of 't' is 2.
tf.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]]
tf.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]]
tf.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]]
(8)三次元から高次元まで,前述の説明を経て,このときよく理解できるはずである.
t = tf.ones([2,2,3]) # [bs,len,hs]
paddings = tf.constant([[1,2],[1,1],[2, 2]])
a = tf.pad(t, paddings, "CONSTANT")
print(a)
"""
:
tf.Tensor(
[[[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]]
[[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 1. 1. 1. 0. 0.]
[0. 0. 1. 1. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]]
[[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 1. 1. 1. 0. 0.]
[0. 0. 1. 1. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]]
[[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]]
[[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0.]]], shape=(5, 4, 7), dtype=float32)
"""
(9)明らかに、次元ごとの個数の変化がはっきりしている~