tf.raw_ops.Sub
Возвращает x - y поэлементно.
tf.raw_ops.Sub(
x, y, name=None
)
Примечание: tf.subtract поддерживает трансляцию. Дополнительную информацию о трансляции см. здесь
Диапазон как входных, так и выходных данных (-inf, inf).
Примеры использования ниже.
Операция вычитания между массивом и скаляром:
x = [1, 2, 3, 4, 5] y = 1 tf.subtract(x, y) <tf.Tensor: shape=(5,), dtype=int32, numpy=array([0, 1, 2, 3, 4], dtype=int32)> tf.subtract(y, x) <tf.Tensor: shape=(5,), dtype=int32, numpy=array([ 0, -1, -2, -3, -4], dtype=int32)>
Обратите внимание, что вместо этого можно использовать бинарный оператор -:
x = tf.convert_to_tensor([1, 2, 3, 4, 5]) y = tf.convert_to_tensor(1) x - y <tf.Tensor: shape=(5,), dtype=int32, numpy=array([0, 1, 2, 3, 4], dtype=int32)>
Операция вычитания между массивом и тензором той же формы:
x = [1, 2, 3, 4, 5] y = tf.constant([5, 4, 3, 2, 1]) tf.subtract(y, x) <tf.Tensor: shape=(5,), dtype=int32, numpy=array([ 4, 2, 0, -2, -4], dtype=int32)>
Например,
x = tf.constant([1, 2], dtype=tf.int8) y = [2**8 + 1, 2**8 + 2] tf.subtract(x, y) <tf.Tensor: shape=(2,), dtype=int8, numpy=array([0, 0], dtype=int8)>
При вычитании двух входных значений с разными формами tf.subtract следует общим правилам трансляции . Формы двух массивов входных данных сравниваются поэлементно. Начиная с последних измерений, два измерения должны быть равны или одно из них должно быть 1.
Например,
x = np.ones(6).reshape(2, 3, 1)
y = np.ones(6).reshape(2, 1, 3)
tf.subtract(x, y)
<tf.Tensor: shape=(2, 3, 3), dtype=float64, numpy=
array([[[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]]])>
Пример с входами разных размерностей:
x = np.ones(6).reshape(2, 3, 1)
y = np.ones(6).reshape(1, 6)
tf.subtract(x, y)
<tf.Tensor: shape=(2, 3, 6), dtype=float64, numpy=
array([[[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.]],
[[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.]]])>
| Аргументы | |
|---|---|
x | A Tensor. Должен быть одним из следующих типов: bfloat16, half, float32, float64, uint8, int8, uint16, int16, int32, int64, complex64, complex128, uint32, uint64. |
y | A Tensor. Должен иметь тот же тип, что и x. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
A Tensor. Имеет тот же тип, что и x. |
© 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/raw_ops/Sub