当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.sparse.softmax用法及代码示例


将 softmax 应用于批处理的 N-D SparseTensor

用法

tf.sparse.softmax(
    sp_input, name=None
)

参数

  • sp_input N-D SparseTensor ,其中 N >= 2
  • name 操作的可选名称。

返回

  • output N-D SparseTensor 代表结果。

输入表示具有逻辑形状 [..., B, C](其中 N >= 2 )的 N-D SparseTensor,并且索引按规范词典顺序排序。

此操作等效于将普通 tf.nn.softmax() 应用于形状为 [B, C] 的每个最内层逻辑子矩阵,但要注意隐式零元素不参与。具体来说,该算法等价于:

(1) 沿 size-C 维度将 tf.nn.softmax() 应用于形状为 [B, C] 的每个最内层子矩阵的致密视图; (2) 屏蔽掉原来的implicitly-zero位置; (3) 重新规范化剩余元素。

因此,SparseTensor 结果具有完全相同的非零索引和形状。

例子:

# First batch:
# [?   e.]
# [1.  ? ]
# Second batch:
# [e   ? ]
# [e   e ]
shape = [2, 2, 2]  # 3-D SparseTensor
values = np.asarray([[[0., np.e], [1., 0.]], [[np.e, 0.], [np.e, np.e]]])
indices = np.vstack(np.where(values)).astype(np.int64).T

result = tf.sparse.softmax(tf.sparse.SparseTensor(indices, values, shape))
# ...returning a 3-D SparseTensor, equivalent to:
# [?   1.]     [1    ?]
# [1.  ? ] and [.5  .5]
# where ? means implicitly zero.

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.sparse.softmax。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。