比较与tf.math.add的功能差异
tf.math.add
tf.math.add(x, y, name=None) -> Tensor
更多内容详见tf.math.add。
mindspore.ops.add
mindspore.ops.add(x, y) -> Tensor
更多内容详见mindspore.ops.add。
差异对比
TensorFlow:计算输入x和输入y的元素和,返回一个与x具有相同类型的Tensor。
MindSpore:MindSpore此API实现功能与TensorFlow一致,仅参数名不同。
分类 |
子类 |
TensorFlow |
MindSpore |
差异 |
---|---|---|---|---|
参数 |
参数1 |
x |
x |
- |
参数2 |
y |
y |
- |
|
参数3 |
name |
- |
不涉及 |
代码示例1
当x和y输入都为Tensor且数据类型一致时,MindSpore和TensorFlow输出结果一致。
# TensorFlow
import tensorflow as tf
import numpy as np
x = tf.constant(np.array([[1,2]]).astype(np.float32))
y = tf.constant(np.array([[1],[2]]).astype(np.float32))
output = tf.math.add(x, y)
print(output.numpy())
# [[2. 3.]
# [3. 4.]]
# MindSpore
import mindspore
from mindspore import Tensor
import numpy as np
x = Tensor(np.array([1, 2]).astype(np.float32))
y = Tensor(np.array([[1], [2]]).astype(np.float32))
output = mindspore.ops.add(x, y)
print(output.asnumpy())
# [[2. 3.]
# [3. 4.]]
代码示例2
TensorFlow支持标量相加,且x和y数据类型必须保持一致,MindSpore 1.8.1版本暂不支持标量相加,但x和y数据类型可以不同。为了得到相同的结果,将标量转化为Tensor进行计算。
# TensorFlow
import tensorflow as tf
import numpy as np
x = np.array([[1,2]]).astype(np.float32)
y = np.array([[1],[2]]).astype(np.float32)
output = tf.math.add(x, y)
print(output.numpy())
# [[2. 3.]
# [3. 4.]]
# MindSpore
import mindspore
from mindspore import Tensor
import numpy as np
x = Tensor(np.array([1, 2]).astype(np.int32))
y = Tensor(np.array([[1], [2]]).astype(np.float32))
output = mindspore.ops.add(x, y)
print(output.asnumpy())
# [[2. 3.]
# [3. 4.]]
代码示例3
TensorFlow的name参数用于定义操作的名称,对计算结果不影响。
# TensorFlow
from unicodedata import name
import tensorflow as tf
import numpy as np
x = tf.constant(np.array([[1,2]]).astype(np.float32))
y = tf.constant(np.array([[1],[2]]).astype(np.float32))
output = tf.math.add(x, y, name="add")
print(output.numpy())
# [[2. 3.]
# [3. 4.]]
# MindSpore
import mindspore
from mindspore import Tensor
import numpy as np
x = Tensor(np.array([1, 2]).astype(np.float32))
y = Tensor(np.array([[1], [2]]).astype(np.float32))
output = mindspore.ops.add(x, y)
print(output.asnumpy())
# [[2. 3.]
# [3. 4.]]