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:].
函数参数
- 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一样;作为在更新完成后想要使用更新值的操作的便利返回.