tf.pad():填充函数
def pad_v2(tensor, paddings, mode="CONSTANT", constant_values=0, name=None):
- tensor:是要填充的张量
- padings:代表每一维填充多少行/列,它的维度一定要和tensor的维度是一样的,这里的维度不是传统上数学维度,如[[2,3,4],[4,5,6]]是一个3乘4的矩阵,但它依然是二维的,所以pad只能是[[1,2],[1,2]]这种。
- mode:可以取三个值,分别是"CONSTANT" ,“REFLECT”,“SYMMETRIC”
- mode=“CONSTANT” :填充0
- mode="REFLECT":映射填充,上下(1维)填充顺序和paddings是相反的,左右(零维)顺序补齐
- mode="SYMMETRIC":对称填充,上下(1维)填充顺序是和paddings相同的,左右(零维)对称补齐
示例:
t=[[2,3,4],[5,6,7]] print(tf.pad(t,[[1,1],[2,2]],"CONSTANT")))
输出:
[[0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 4, 0, 0], [0, 0, 5, 6, 7, 0, 0], [0, 0, 0, 0, 0, 0, 0]]
注:
[1,1]:是在pad里是第一个,代表第一维即矩阵的行,左边的1代表上方放一行0,右边的1代表下方放一行0
[2,2]:顺序是第二个,代表对列操作,左边的2代表在左边放两列0,右边2代表在右边放两列0