當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。