View source on GitHub

Reduces sparse updates into a variable reference using the min operation.


This operation computes

# Scalar indices
ref[indices, ...] = min(ref[indices, ...], updates[...])

# Vector indices (for each i)
ref[indices[i], ...] = min(ref[indices[i], ...], updates[i, ...])

ref[indices[i, ..., j], ...] = min(ref[indices[i, ..., j], ...],
updates[i, ..., j, ...])


Duplicate entries are handled correctly: if multiple indices reference the same location, their contributions combine.



  • ref: A mutable Tensor. Must be one of the following types: half, bfloat16, float32, float64, int32, int64. Should be from a Variable node.
  • updates: A Tensor. Must have the same type as ref. A tensor of updated values to reduce into ref.
  • use_locking: An optional bool. Defaults to False. If True, the update will be protected by a lock; otherwise the behavior is undefined, but may exhibit less contention.
  • name: A name for the operation (optional).


A mutable Tensor. Has the same type as ref.