tf.scatter_update函数:将稀疏更新应用于变量引用
2018-01-10 10:01 更新
tf.scatter_update 函数
scatter_update(
ref,
indices,
updates,
use_locking=True,
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.这样可以更容易地链接到需要使用重置值的操作.
如果 ref 中的值要更新多次,由于indices中有重复的条目,则每个值的更新发生的顺序是未定义的.
需要:updates.shape = indices.shape + ref.shape[1:].
函数参数
- ref:一个可变的Tensor;应该来自一个Variable节点.
- indices:一个Tensor;必须是以下类型之一:int32,int64;进入ref的第一维度的一个索引的张量.
- updates:一个Tensor.必须与ref具有相同的类型.存储在ref中的更新值的张量.
- use_locking:可选bool,默认为True;如果为True,则赋值将受锁定的保护;否则行为是不确定的,但可能表现出较少的争用.
- name:操作的名称(可选).
函数返回值
和ref一样;作为在更新完成后想要使用更新值的操作的便利返回.