阅读(7.1k) 书签 (0)

TensorFlow函数:tf.scatter_sub

2018-01-09 10:27 更新

tf.scatter_sub 函数

scatter_sub(
    ref,
    indices,
    updates,
    use_locking=False,
    name=None
)

请参阅指南:变量>稀疏变量更新

将稀疏更新减去一个变量引用.

# Scalar indices
ref[indices, ...] -= updates[...]

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

# High rank indices (for each i, ..., j)
ref[indices[i, ..., j], ...] -= updates[i, ..., j, ...]

更新完成后,将执行此操作并输出ref.这样可以更容易地链接需要使用重置值的操作.

正确处理重复条目的方式:如果多个indices引用相同的位置,则他们(否定)的贡献添加.

需要:updates.shape = indices.shape + ref.shape[1:].

TensorFlow函数

函数参数

  • ref:一个可变的Tensor;必须是下列类型之一:float32,float64,int64,int32,uint8,uint16,int16,int8,complex64,complex128,qint8,quint8,qint32,half;应该来自一个Variable节点.
  • indices:一个Tensor;必须是以下类型之一:int32,int64;进入ref的第一维度的一个索引的张量.
  • updates:一个Tensor.必须与ref具有相同的类型.从ref中减去更新值的张量.
  • use_locking:可选bool,默认为False;如果为True,则减法将被锁保护;否则行为是不确定的,但可能表现出较少的争用.
  • name:操作的名称(可选).

函数返回值

和ref一样;作为在更新完成后想要使用更新值的操作的便利返回.