比较与tf.nn.bias_add的功能差异
tf.nn.bias_add
class tf.nn.bias_add(value, bias, data_format=None, name=None)
更多内容详见tf.nn.bias_add。
mindspore.ops.bias_add
mindspore.ops.bias_add(input_x, bias)
更多内容详见mindspore.ops.bias_add。
差异对比
TensorFlow:返回输入value和bias的tensor相加之和,其中bias被限制为1D的tensor,value支持各种数量的维度,两者相加前会把bias广播成与输入value的shape一致。
MindSpore:MindSpore此API实现功能与TensorFlow基本一致,不过MindSpore的输入input_x只支持二到五维的shape。
分类 |
子类 |
TensorFlow |
MindSpore |
差异 |
---|---|---|---|---|
参数 |
参数1 |
value |
input_x |
功能一致,参数名不同 |
参数2 |
bias |
bias |
功能一致 |
|
参数3 |
data_format |
- |
输入数据的数据格式,MindSpore无此参数 |
|
参数4 |
name |
- |
不涉及 |
代码示例1
两API实现功能一致,用法相同。
# TensorFlow
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
value = tf.constant([[1, 2], [3, 4], [5, 6]], dtype=tf.float32)
bias = tf.constant([-2, -1], dtype=tf.float32)
result = tf.nn.bias_add(value, bias)
ss = tf.compat.v1.Session()
output = ss.run(result)
print(output)
# [[-1. 1.]
# [ 1. 3.]
# [ 3. 5.]]
# MindSpore
import numpy as np
import mindspore
import mindspore.ops as ops
from mindspore import Tensor
input_x = Tensor(np.array([[1, 2], [3, 4], [5, 6]]), mindspore.float32)
bias = Tensor(np.array([-2 , -1]), mindspore.float32)
output = ops.bias_add(input_x, bias)
print(output)
# [[-1. 1.]
# [ 1. 3.]
# [ 3. 5.]]