TensorFlow填充张量函数:tf.pad

2018-11-08 11:49 更新
tf.pad 函数
pad ( 
    tensor , 
    paddings , 
    mode = 'CONSTANT' , 
    name = None , 
    constant_values = 0 
)

定义在:tensorflow/python/ops/array_ops.py.

参见指南:张量变换>分割和连接

填充张量.

此操作根据您指定的 paddings 来填充一个 tensor.paddings 是一个具有形状 [n, 2] 的整数张量,其中 n 是 tensor 的秩.对于每个输入维度 D,paddings [D, 0] 表示在该维度的 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' is [[1, 2, 3], [4, 5, 6]].
# 'paddings' is [[1, 1,], [2, 2]].
# 'constant_values' is 0.
# rank of 't' is 2.
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]]

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

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

参数:

  • tensor:张量.
  • paddings:int32 类型的张量.
  • mode:取值为 "CONSTANT"、"REFLECT" 或 "SYMMETRIC"(不区分大小写)
  • name:操作的名称(可选).
  • constant_values:在 “CONSTANT” 模式下,要使用的标量填充值,必须与 tensor 具有相同类型.

返回:

该函数返回一个张量,与 tensor 具有相同的类型.

可能引发的异常:

  • ValueError:模式不是 "CONSTANT"、"REFLECT" 或 "SYMMETRIC" 中的一种时.
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy