tf.sparse.softmax
| Просмотреть исходный код на GitHub |
Применяет softmax к пакету N-мерных SparseTensor.
tf.sparse.softmax(
sp_input, name=None
)
Вводные данные представляют собой N-мерный SparseTensor с логической формой [..., B, C] (где N >= 2), и с индексами, отсортированными в каноническом лексикографическом порядке.
Этот оператор эквивалентен применению обычного tf.nn.softmax() к каждой внутренней логической подматрице с формой [B, C], но с тем ограничением, что неявные нулевые элементы не участвуют. В частности, алгоритм эквивалентен:
(1) Применяет tf.nn.softmax() к уплотнённому представлению каждой внутренней подматрицы с формой [B, C], по размерности C; (2) Маскирует исходные неявные нулевые позиции; (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.
| Аргументы | |
|---|---|
sp_input | N-мерный SparseTensor, где N >= 2. |
name | необязательное имя операции. |
| Возвращаемое значение | |
|---|---|
output | N-мерный SparseTensor представляющий результаты. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/sparse/softmax