返回 x - y 元素。
用法
tf.raw_ops.Sub(
x, y, name=None
)
参数
-
x
一个Tensor
。必须是以下类型之一:bfloat16
,half
,float32
,float64
,uint8
,int8
,uint16
,int16
,int32
,int64
,complex64
,complex128
,uint32
,uint64
。 -
y
一个Tensor
。必须与x
具有相同的类型。 -
name
操作的名称(可选)。
返回
-
一个
Tensor
。具有与x
相同的类型。
注意: tf.math.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
或 y
)是张量,而另一个是非张量,则非张量输入将采用(或转换为)张量输入的数据类型。这可能会导致不需要的上溢或下溢转换。
例如,
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.]]])>
相关用法
- Python tf.raw_ops.Substr用法及代码示例
- Python tf.raw_ops.SelfAdjointEigV2用法及代码示例
- Python tf.raw_ops.Size用法及代码示例
- Python tf.raw_ops.ScatterUpdate用法及代码示例
- Python tf.raw_ops.ScatterNdUpdate用法及代码示例
- Python tf.raw_ops.SparseCrossV2用法及代码示例
- Python tf.raw_ops.ScatterAdd用法及代码示例
- Python tf.raw_ops.SparseCross用法及代码示例
- Python tf.raw_ops.SegmentMean用法及代码示例
- Python tf.raw_ops.ScatterSub用法及代码示例
- Python tf.raw_ops.StringStrip用法及代码示例
- Python tf.raw_ops.SparseConcat用法及代码示例
- Python tf.raw_ops.SparseSegmentSumWithNumSegments用法及代码示例
- Python tf.raw_ops.SparseMatrixSparseMatMul用法及代码示例
- Python tf.raw_ops.SparseMatrixOrderingAMD用法及代码示例
- Python tf.raw_ops.Shape用法及代码示例
- Python tf.raw_ops.ScatterDiv用法及代码示例
- Python tf.raw_ops.SparseFillEmptyRows用法及代码示例
- Python tf.raw_ops.ScatterNdSub用法及代码示例
- Python tf.raw_ops.Sign用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.raw_ops.Sub。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。