Update generated Python Op docs.
Change: 123137273
This commit is contained in:
parent
57a6fa40bb
commit
d44ed34cd2
@ -0,0 +1,51 @@
|
|||||||
|
### `tf.sparse_softmax(sp_input, name=None)` {#sparse_softmax}
|
||||||
|
|
||||||
|
Applies softmax to a batched N-D `SparseTensor`.
|
||||||
|
|
||||||
|
The inputs represent an N-D SparseTensor with logical shape `[..., B, C]`
|
||||||
|
(where `N >= 2`), and with indices sorted in the canonical lexicographic
|
||||||
|
order.
|
||||||
|
|
||||||
|
This op is equivalent to applying the normal `tf.nn.softmax()` to each
|
||||||
|
innermost logical submatrix with shape `[B, C]`, but with the catch that *the
|
||||||
|
implicitly zero elements do not participate*. Specifically, the algorithm is
|
||||||
|
equivalent to:
|
||||||
|
|
||||||
|
(1) Applies `tf.nn.softmax()` to a densified view of each innermost
|
||||||
|
submatrix with shape `[B, C]`, along the size-C dimension;
|
||||||
|
(2) Masks out the original implicitly-zero locations;
|
||||||
|
(3) Renormalizes the remaining elements.
|
||||||
|
|
||||||
|
Hence, the `SparseTensor` result has exactly the same non-zero indices and
|
||||||
|
shape.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```python
|
||||||
|
# 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.SparseTensor(indices, values, shape))
|
||||||
|
# ...returning a 3-D SparseTensor, equivalent to:
|
||||||
|
# [? 1.] [1 ?]
|
||||||
|
# [1. ? ] and [.5 .5]
|
||||||
|
# where ? means implicitly zero.
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Args:
|
||||||
|
|
||||||
|
|
||||||
|
* <b>`sp_input`</b>: N-D `SparseTensor`, where `N >= 2`.
|
||||||
|
* <b>`name`</b>: optional name of the operation.
|
||||||
|
|
||||||
|
##### Returns:
|
||||||
|
|
||||||
|
|
||||||
|
* <b>`output`</b>: N-D `SparseTensor` representing the results.
|
||||||
|
|
@ -352,6 +352,7 @@
|
|||||||
* [`sparse_reorder`](../../api_docs/python/sparse_ops.md#sparse_reorder)
|
* [`sparse_reorder`](../../api_docs/python/sparse_ops.md#sparse_reorder)
|
||||||
* [`sparse_reset_shape`](../../api_docs/python/sparse_ops.md#sparse_reset_shape)
|
* [`sparse_reset_shape`](../../api_docs/python/sparse_ops.md#sparse_reset_shape)
|
||||||
* [`sparse_retain`](../../api_docs/python/sparse_ops.md#sparse_retain)
|
* [`sparse_retain`](../../api_docs/python/sparse_ops.md#sparse_retain)
|
||||||
|
* [`sparse_softmax`](../../api_docs/python/sparse_ops.md#sparse_softmax)
|
||||||
* [`sparse_split`](../../api_docs/python/sparse_ops.md#sparse_split)
|
* [`sparse_split`](../../api_docs/python/sparse_ops.md#sparse_split)
|
||||||
* [`sparse_tensor_dense_matmul`](../../api_docs/python/sparse_ops.md#sparse_tensor_dense_matmul)
|
* [`sparse_tensor_dense_matmul`](../../api_docs/python/sparse_ops.md#sparse_tensor_dense_matmul)
|
||||||
* [`sparse_tensor_to_dense`](../../api_docs/python/sparse_ops.md#sparse_tensor_to_dense)
|
* [`sparse_tensor_to_dense`](../../api_docs/python/sparse_ops.md#sparse_tensor_to_dense)
|
||||||
|
@ -826,6 +826,60 @@ Then,
|
|||||||
* <b>`TypeError`</b>: If both `a` and `b` are `Tensor`s. Use `tf.add()` instead.
|
* <b>`TypeError`</b>: If both `a` and `b` are `Tensor`s. Use `tf.add()` instead.
|
||||||
|
|
||||||
|
|
||||||
|
- - -
|
||||||
|
|
||||||
|
### `tf.sparse_softmax(sp_input, name=None)` {#sparse_softmax}
|
||||||
|
|
||||||
|
Applies softmax to a batched N-D `SparseTensor`.
|
||||||
|
|
||||||
|
The inputs represent an N-D SparseTensor with logical shape `[..., B, C]`
|
||||||
|
(where `N >= 2`), and with indices sorted in the canonical lexicographic
|
||||||
|
order.
|
||||||
|
|
||||||
|
This op is equivalent to applying the normal `tf.nn.softmax()` to each
|
||||||
|
innermost logical submatrix with shape `[B, C]`, but with the catch that *the
|
||||||
|
implicitly zero elements do not participate*. Specifically, the algorithm is
|
||||||
|
equivalent to:
|
||||||
|
|
||||||
|
(1) Applies `tf.nn.softmax()` to a densified view of each innermost
|
||||||
|
submatrix with shape `[B, C]`, along the size-C dimension;
|
||||||
|
(2) Masks out the original implicitly-zero locations;
|
||||||
|
(3) Renormalizes the remaining elements.
|
||||||
|
|
||||||
|
Hence, the `SparseTensor` result has exactly the same non-zero indices and
|
||||||
|
shape.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```python
|
||||||
|
# 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.SparseTensor(indices, values, shape))
|
||||||
|
# ...returning a 3-D SparseTensor, equivalent to:
|
||||||
|
# [? 1.] [1 ?]
|
||||||
|
# [1. ? ] and [.5 .5]
|
||||||
|
# where ? means implicitly zero.
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Args:
|
||||||
|
|
||||||
|
|
||||||
|
* <b>`sp_input`</b>: N-D `SparseTensor`, where `N >= 2`.
|
||||||
|
* <b>`name`</b>: optional name of the operation.
|
||||||
|
|
||||||
|
##### Returns:
|
||||||
|
|
||||||
|
|
||||||
|
* <b>`output`</b>: N-D `SparseTensor` representing the results.
|
||||||
|
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
### `tf.sparse_tensor_dense_matmul(sp_a, b, adjoint_a=False, adjoint_b=False, name=None)` {#sparse_tensor_dense_matmul}
|
### `tf.sparse_tensor_dense_matmul(sp_a, b, adjoint_a=False, adjoint_b=False, name=None)` {#sparse_tensor_dense_matmul}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user