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


Python tf.compat.v1.test.compute_gradient用法及代碼示例

計算並返回理論和數值雅可比行列式。 (已棄用)

用法

tf.compat.v1.test.compute_gradient(
    x, x_shape, y, y_shape, x_init_value=None, delta=0.001, init_targets=None,
    extra_feed_dict=None
)

參數

  • x 張量或張量列表
  • x_shape x 作為元組或整數數組的維度。如果 x 是一個列表,那麽這是形狀列表。
  • y 張量
  • y_shape y 作為元組或整數數組的維度。
  • x_init_value (可選)與 "x" 形狀相同的 numpy 數組,表示 x 的初始值。如果 x 是一個列表,這應該是一個 numpy 數組的列表。如果沒有,該函數將選擇一個隨機張量作為初始值。
  • delta (可選)擾動量。
  • init_targets 要運行以初始化模型參數的目標列表。
  • extra_feed_dict dict 允許在雅可比計算期間修複指定的張量值。

返回

  • 兩個二維 numpy 數組,表示 dy/dx 的理論和數值雅可比行列式。每個都有"x_size"行和"y_size"列,其中"x_size"是x中的元素數,"y_size"是y中的元素數。如果 x 是一個列表,則返回兩個 numpy 數組的列表。

警告:此函數已棄用。它將在未來的版本中刪除。更新說明:在2.0中使用tf.test.compute_gradient,對函數支持更好。請注意,兩個版本的用法不同,因此需要更改代碼。

如果 xy 是複數,雅可比仍然是實數,但相應的雅可比維度將是兩倍大。即使輸入和輸出都很複雜,這也是必需的,因為 TensorFlow 圖不一定是全純的,並且可能具有不能表示為複數的梯度。例如,如果 x 是複雜的形狀 [m]y 是複雜的形狀 [n] ,每個雅可比 J 將具有形狀 [m * 2, n * 2]

J[:m,:n] = d(Re y)/d(Re x)
J[:m, n:] = d(Im y)/d(Re x)
J[m:,:n] = d(Re y)/d(Im x)
J[m:, n:] = d(Im y)/d(Im x)

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.test.compute_gradient。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。