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


Python tf.raw_ops.ResourceScatterNdSub用法及代碼示例


對變量中的單個值或切片應用稀疏減法。

用法

tf.raw_ops.ResourceScatterNdSub(
    ref, indices, updates, use_locking=True, name=None
)

參數

  • ref Tensor 類型為 resource 。資源句柄。必須來自 VarHandleOp。
  • indices 一個Tensor。必須是以下類型之一:int32 , int64。張量。必須是以下類型之一:int32、int64。參考的索引張量。
  • updates 一個Tensor。張量。必須與 ref 具有相同的類型。要添加到 ref 的值的張量。
  • use_locking 可選的 bool 。默認為 True 。一個可選的布爾值。默認為真。如果為 True,則分配將受鎖保護;否則行為是未定義的,但可能表現出較少的爭用。
  • name 操作的名稱(可選)。

返回

  • 創建的操作。

ref 是排名為 PTensor ,而 indices 是排名為 QTensor

indices 必須是整數張量,包含 ref 的索引。它必須是形狀 [d_0, ..., d_{Q-2}, K] 其中 0 < K <= P

indices 的最內維(長度為 K )對應於沿 refK 第維的元素(如果是 K = P )或切片(如果是 K < P )的索引。

updates 是等級為 Q-1+P-KTensor,形狀:

[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]

例如,假設我們想從具有 8 個元素的 rank-1 張量中減去 4 個分散元素。在 Python 中,減法看起來像這樣:

ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8], use_resource=True)
indices = tf.constant([[4], [3], [1], [7]])
updates = tf.constant([9, 10, 11, 12])
sub = tf.scatter_nd_sub(ref, indices, updates)
with tf.Session() as sess:
  print sess.run(sub)

對 ref 的更新結果如下所示:

[1, -9, 3, -6, -4, 6, 7, -4]

有關如何更新切片的更多詳細信息,請參閱tf.scatter_nd

相關用法


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