阅读(4347)
赞(11)
TensorFlow函数:tf.sparse_add
2018-02-23 14:14:44 更新
tf.sparse_add 函数
sparse_add(
a,
b,
thresh=0
)
定义在:tensorflow/python/ops/sparse_ops.py.
请参阅指南:稀疏张量>数学运算
添加两个张量,其中至少有一个是 SparseTensor.
如果传入的是一个 SparseTensor 和一个 Tensor,则返回一个 Tensor.如果两个参数都是 SparseTensors,则返回 SparseTensor.参数的顺序无关紧要.使用 vanilla tf.add() 添加两个密集的Tensors.
两个操作数的形状必须匹配:不支持广播.
任何输入 SparseTensor 的索引都假定按标准词典顺序排序.如果不是这种情况,在此步骤之前运行 SparseReorder 以还原索引排序.
如果两个参数都很稀疏,我们按如下所示执行“剪切”.默认情况下,如果在某个索引处两个值总和为零,则输出 SparseTensor 仍然会在其索引中包含该特定位置,并在相应的值槽中存储一个零.为了重写此项,调用者可以指定 thresh,指示如果总和具有严格小于 thresh 的大小,则不包括其相应的值和索引.特别是,thresh == 0.0(默认)意味着一切都保持不变,实际的阈值只发生在正值上.
例如,假设两个稀疏操作数的逻辑和为(致密):
[ 2]
[.1 0]
[ 6 -.2]
然后:
* `thresh == 0` (the default): all 5 index/value pairs will be returned.
* `thresh == 0.11`: only .1 and 0 will vanish, and the remaining three
index/value pairs will be returned.
* `thresh == 0.21`: .1, 0, and -.2 will vanish.
函数参数:
- a:第一个操作数;可以是 SparseTensor 或者 Tensor.
- b:第二个操作数;可以是 SparseTensor 或者 Tensor.至少有一个操作数必须是 SparseTensor.
- thresh:一个 0-D Tensor,用于确定输出的值/索引(value/index)对是否占用空间的幅度阈值.如果它们是真实的,它的dtype应该与值相匹配;如果后者是:complex64/complex128,则相应地,dtype应该是:float32/float64.
返回值:
该函数返回一个 SparseTensor 或 Tensor,表示总和.
可能引发的异常:
- TypeError:如果两个操作数 a 和 b 都是 Tensor,则改为使用 tf.add().