当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.pad用法及代码示例


填充张量。

用法

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

参数

  • tensor 一个Tensor
  • paddings Tensor 类型为 int32
  • mode "CONSTANT"、"REFLECT" 或 "SYMMETRIC" 之一(不区分大小写)
  • constant_values 在"CONSTANT" 模式下,要使用的标量填充值。必须与 tensor 的类型相同。
  • name 操作的名称(可选)。

返回

  • 一个Tensor。具有与 tensor 相同的类型。

抛出

  • ValueError 当模式不是 "CONSTANT"、"REFLECT" 或 "SYMMETRIC" 之一时。

此操作根据您指定的 paddings 填充 tensorpaddings 是形状为 [n, 2] 的整数张量,其中 n 是 tensor 的秩。对于每个维度,input , paddings[D, 0]的D表示该维度中tensor的内容之前要添加多少个值,paddings[D, 1]表示该维度中tensor的内容之后要添加多少个值。如果 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)

输出的每个维度 D 的填充大小为:

paddings[D, 0] + tensor.dim_size(D) + paddings[D, 1]

例如:

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

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.pad。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。