tf.sparse.reduce_max
| Просмотреть исходный код на GitHub |
Вычисляет tf.sparse.maximum элементов по всем измерениям SparseTensor.
tf.sparse.reduce_max(
sp_input, axis=None, keepdims=None, output_is_sparse=False, name=None
)
Это операция сокращения для элементной операции tf.sparse.maximum.
Эта операция принимает SparseTensor и является аналогом tf.reduce_max() для разреженных данных. В частности, эта операция также возвращает плотное Tensor если output_is_sparse имеет значение False, или SparseTensor если output_is_sparse имеет значение True.
Примечание: Градиент для этой функции не определён, поэтому её нельзя использовать в обучающих моделях, требующих градиентного спуска.
Сокращает sp_input по измерениям, указанным в axis. Если keepdims не имеет значения true, ранг тензора уменьшается на 1 для каждой записи в axis. Если keepdims имеет значение true, сокращенные измерения сохраняются с длиной 1.
Если axis не содержит записей, все измерения сокращаются, и возвращается тензор с одним элементом. Кроме того, оси могут быть отрицательными, аналогично правилам индексирования в Python.
Значения, не определённые в sp_input не участвуют в вычислении reduce max, в отличие от неявного предположения о нулевом значении — поэтому она может возвращать отрицательные значения для разреженных axis. Однако, если в axis нет значений, она будет сокращена до 0. См. второй пример ниже.
Например:
'x' представляет [[1, ?, 2]
[?, 3, ?]]
где ? неявно равен нулю.
x = tf.sparse.SparseTensor([[0, 0], [0, 2], [1, 1]], [1, 2, 3], [2, 3])
tf.sparse.reduce_max(x)
<tf.Tensor: shape=(), dtype=int32, numpy=3>
tf.sparse.reduce_max(x, 0)
<tf.Tensor: shape=(3,), dtype=int32, numpy=array([1, 3, 2], dtype=int32)>
tf.sparse.reduce_max(x, 1)
<tf.Tensor: shape=(2,), dtype=int32, numpy=array([2, 3], dtype=int32)>
tf.sparse.reduce_max(x, 1, keepdims=True)
<tf.Tensor: shape=(2, 1), dtype=int32, numpy=
array([[2],
[3]], dtype=int32)>
tf.sparse.reduce_max(x, [0, 1])
<tf.Tensor: shape=(), dtype=int32, numpy=3>
'y' представляет [[-7, ?]
[ 4, 3]
[ ?, ?]
y = tf.sparse.SparseTensor([[0, 0,], [1, 0], [1, 1]], [-7, 4, 3], [3, 2]) tf.sparse.reduce_max(y, 1) <tf.Tensor: shape=(3,), dtype=int32, numpy=array([-7, 4, 0], dtype=int32)>
| Аргументы | |
|---|---|
sp_input | SparseTensor для сокращения. Должен иметь числовой тип. |
axis | Измерения для сокращения; список или скаляр. Если None (по умолчанию), сокращает все измерения. |
keepdims | Если true, сохраняет сокращённые измерения с длиной 1. |
output_is_sparse | Если true, возвращает SparseTensor вместо плотного Tensor (по умолчанию). |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Сокращённый Tensor или SparseTensor, если output_is_sparse имеет значение True. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/sparse/reduce_max