當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。