生活随笔
收集整理的這篇文章主要介紹了
tf.pad()
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
網(wǎng)上看到很多tf.pad的文章,很多都語(yǔ)焉不詳,需自己動(dòng)手操作才能真正理解,
pad,一言以蔽之,就是在矩陣的周?chē)a(bǔ)0。
1. 對(duì)于二維矩陣,就是在 上 ,下,左,右補(bǔ)0
#pad1 = np.array([[‘上’,‘下’], [‘左’,‘右’ ]])
import numpy as np
import tensorflow as tf
# 創(chuàng)建一個(gè)二維變量,默認(rèn)執(zhí)行CONSTANT填充
vct = tf.Variable(tf.ones([3, 4]), name="vct")
# 指定填充方式,
#pad1 = np.array([['上','下'], ['左','右' ]])
pad_上邊補(bǔ)1行= np.array([[1,0], [0, 0]])
pad_下邊補(bǔ)2行= np.array([[0,2], [0, 0]])
pad_左邊補(bǔ)3行= np.array([[0,0], [3, 0]])
pad_右邊補(bǔ)4行= np.array([[0,0], [0, 4]])# tf.pad進(jìn)行填充
vct_上邊補(bǔ)1行 = tf.pad(vct, pad_上邊補(bǔ)1行)
vct_下邊補(bǔ)2行 = tf.pad(vct, pad_下邊補(bǔ)2行)
vct_左邊補(bǔ)3行 = tf.pad(vct, pad_左邊補(bǔ)3行)
vct_右邊補(bǔ)4行 = tf.pad(vct, pad_右邊補(bǔ)4行)#vct_pad1 = tf.pad(vct, pad1, name='pad_1')
# 創(chuàng)建會(huì)話(huà)
with tf.Session() as sess:sess.run(tf.global_variables_initializer())print('原始矩陣')print(sess.run(vct))print('上邊補(bǔ)1行')print(sess.run(vct_上邊補(bǔ)1行))print('下邊補(bǔ)2行')print(sess.run(vct_下邊補(bǔ)2行))print('左邊補(bǔ)3行')print(sess.run(vct_左邊補(bǔ)3行))print('vct_右邊補(bǔ)4行')print(sess.run(vct_右邊補(bǔ)4行))
原始矩陣
[[ 1. 1. 1. 1.][ 1. 1. 1. 1.][ 1. 1. 1. 1.]]
上邊補(bǔ)1行
[[ 0. 0. 0. 0.][ 1. 1. 1. 1.][ 1. 1. 1. 1.][ 1. 1. 1. 1.]]
下邊補(bǔ)2行
[[ 1. 1. 1. 1.][ 1. 1. 1. 1.][ 1. 1. 1. 1.][ 0. 0. 0. 0.][ 0. 0. 0. 0.]]
左邊補(bǔ)3行
[[ 0. 0. 0. 1. 1. 1. 1.][ 0. 0. 0. 1. 1. 1. 1.][ 0. 0. 0. 1. 1. 1. 1.]]
vct_右邊補(bǔ)4行
[[ 1. 1. 1. 1. 0. 0. 0. 0.][ 1. 1. 1. 1. 0. 0. 0. 0.][ 1. 1. 1. 1. 0. 0. 0. 0.]]
對(duì)于三維矩陣你可以理解為那是一幢樓,三維矩陣的由二維矩陣構(gòu)成,每個(gè)二維矩陣相當(dāng)于一個(gè)樓層。
1. 對(duì)于三維矩陣的pad,就是在 頂樓,底樓 ,每層樓的上 ,下,左,右補(bǔ)0
#pad1 = np.array([[‘頂’,‘底’],[‘上’,‘下’], [‘左’,‘右’ ]])
import numpy as np
import tensorflow as tf
tsr = tf.Variable(tf.ones([2, 3, 4]), name="tsr")
pad_top = np.array([[1, 0], [0, 0], [0, 0]])pad_left = np.array([[0, 0], [0, 0], [3, 0]])tsr_pad_top = tf.pad(tsr, pad_top, name='pad_top')tsr_pad_left = tf.pad(tsr, pad_left, name='pad_left')
with tf.Session() as sess:sess.run(tf.global_variables_initializer())print('original tensor')print(sess.run(tsr))print(' pad top')print(sess.run(tsr_pad_top))print('pad left')print(sess.run(tsr_pad_left))
original tensor
[[[ 1. 1. 1. 1.][ 1. 1. 1. 1.][ 1. 1. 1. 1.]][[ 1. 1. 1. 1.][ 1. 1. 1. 1.][ 1. 1. 1. 1.]]]pad top
[[[ 0. 0. 0. 0.][ 0. 0. 0. 0.][ 0. 0. 0. 0.]][[ 1. 1. 1. 1.][ 1. 1. 1. 1.][ 1. 1. 1. 1.]][[ 1. 1. 1. 1.][ 1. 1. 1. 1.][ 1. 1. 1. 1.]]]
pad left
[[[ 0. 0. 0. 1. 1. 1. 1.][ 0. 0. 0. 1. 1. 1. 1.][ 0. 0. 0. 1. 1. 1. 1.]][[ 0. 0. 0. 1. 1. 1. 1.][ 0. 0. 0. 1. 1. 1. 1.][ 0. 0. 0. 1. 1. 1. 1.]]]
總結(jié)
以上是生活随笔為你收集整理的tf.pad()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。