對變量中的單個值或切片應用稀疏加法。
用法
tf.raw_ops.ResourceScatterNdAdd(
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
是排名為 P
的 Tensor
,而 indices
是排名為 Q
的 Tensor
。
indices
必須是整數張量,包含 ref
的索引。它必須是形狀 [d_0, ..., d_{Q-2}, K]
其中 0 < K <= P
。
indices
的最內維(長度為 K
)對應於沿 ref
的 K
第維的元素(如果是 K = P
)或切片(如果是 K < P
)的索引。
updates
是等級為 Q-1+P-K
的 Tensor
,形狀:
[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]
例如,假設我們要將 4 個分散的元素添加到 rank-1 張量到 8 個元素。在 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])
add = tf.scatter_nd_add(ref, indices, updates)
with tf.Session() as sess:
print sess.run(add)
對 ref 的更新結果如下所示:
[1, 13, 3, 14, 14, 6, 7, 20]
有關如何更新切片的更多詳細信息,請參閱tf.scatter_nd
。
相關用法
- Python tf.raw_ops.ResourceScatterNdSub用法及代碼示例
- Python tf.raw_ops.ResourceScatterNdUpdate用法及代碼示例
- Python tf.raw_ops.ResourceScatterMul用法及代碼示例
- Python tf.raw_ops.ResourceScatterAdd用法及代碼示例
- Python tf.raw_ops.ResourceScatterMax用法及代碼示例
- Python tf.raw_ops.ResourceScatterMin用法及代碼示例
- Python tf.raw_ops.ResourceScatterSub用法及代碼示例
- Python tf.raw_ops.ResourceScatterUpdate用法及代碼示例
- Python tf.raw_ops.ResourceScatterDiv用法及代碼示例
- Python tf.raw_ops.ResourceGather用法及代碼示例
- Python tf.raw_ops.Reshape用法及代碼示例
- Python tf.raw_ops.ReadVariableXlaSplitND用法及代碼示例
- Python tf.raw_ops.ReduceJoin用法及代碼示例
- Python tf.raw_ops.Real用法及代碼示例
- Python tf.raw_ops.Relu用法及代碼示例
- Python tf.raw_ops.ReverseV2用法及代碼示例
- Python tf.raw_ops.Reverse用法及代碼示例
- Python tf.raw_ops.RegexFullMatch用法及代碼示例
- Python tf.raw_ops.ReverseSequence用法及代碼示例
- Python tf.raw_ops.RaggedGather用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.raw_ops.ResourceScatterNdAdd。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。