將TensorFlow張量值剪輯到最大 L2-norm

2018-09-11 16:44 更新

tf.clip_by_norm

clip_by_norm ( 
    t , 
    clip_norm , 
    axes = None , 
    name = None
 )

定義在:tensorflow/python/ops/clip_ops.py.

參見指南:Training函數>梯度剪輯

將張量值剪輯到最大 L2-norm.

給定一個張量 t 和一個最大的剪輯值 clip_norm,此操作使 t 的 L2-norm 小于或等于 clip_norm,沿軸給定的維度.具體地說, 在所有維度都用于計算的默認情況下, 如果 t 的 L2-norm 已小于或等于 clip_norm,則 t 不會被修改.如果 L2-norm 大于 clip_norm,則此操作將返回與 t 相同的類型和形狀的張量,其值設置為:

t * clip_norm / l2norm(t)

在這種情況下,輸出張量的 L2-norm 為 clip_norm.

作為另一個例子, 如果 t 是矩陣和軸 = = [1], 如果坐標軸 == [0], 則輸出的每一列將被修剪.
此操作通常用于在使用優(yōu)化程序之前對其進行梯度剪輯.

ARGS:

  • t:張量.
  • clip_norm:一個0維 (標量) 張量 > 0,是最大剪輯值.
  • axes:包含用于計算 L2-norm 的維度的 int32 型的1維 (矢量) 張量.如果沒有 (默認值), 則使用所有維度.
  • name:操作的名稱(可選).

返回:

一個剪輯張量.


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號