tf.pad

一、作用

添加一个张量(tensor)

二、语法

tf.pad(
    tensor,
    paddings,
    mode='CONSTANT',
    constant_values=0,
    name=None
)

这个操作是根据你指定的padddings来添加一个张量, paddings是一个整数形式的张量,大小为【n, 2】, 这里的n是tensor的秩。对输入每一个维度D, paddings[D, 0] 就是意味着在这一个维度的张量前面加多少个值,paddings[D, 1] 就是意味着在这一个维度的张量后面加多少个值。如果mode=“”REFLECT“”,那么paddings[D, 0]paddings[D, 1]都不能大于tensor.dim_size[D] - 1,如果mode=“”SYMMETRIC“”,那么paddings[D, 0]paddings[D, 1]都不能大于tensor.dim_size[D]

三、参数

Args:
  • tensor:输入的一个张量
  • paddings: 一个整数(int32)类型的张量
  • mode: “CONSTANT”, “REFLECT”, or “SYMMETRIC” (、大小写不敏感)
  • constant_values:在“CONSTANT“模式下,补充的值
  • name:这次操作的名称
Returns:

一个张量,和输入的tensor相同类型·

四、例子

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]]

运行结果:

tf.Tensor(
[[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]], shape=(4, 7), dtype=int32)

tf.Tensor(
[[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]], shape=(4, 7), dtype=int32)

tf.Tensor(
[[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]], shape=(4, 7), dtype=int32)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值