参考官方说明文档
format:add(x, y, name=None)
Args:
x: A `Tensor`. Must be one of the following types: `half`, `float32`, `float64`, `uint8`, `int8`, `int16`, `int32`, `int64`, `complex64`, `complex128`, `string`.
y: A `Tensor`. Must have the same type as `x`.(注意参数x,y的类型要相同)
Returns x + y element-wise. A `Tensor`. Has the same type as `x`.(也就是说这个函数是使x,和y两个参数的元素相加,返回的tensor数据类型和x的数据类型相同)
栗子
import tensorflow as tf
x=tf.constant([[1,2],[1,2]])
y=tf.constant([[1,1],[1,2]])
z=tf.add(x,y)
x1=tf.constant(1)
y1=tf.constant(2)
z1=tf.add(x1,y1)
x2=tf.constant(2)
y2=tf.constant([1,2])
z2=tf.add(x2,y2)
x3=tf.constant([[1,2],[1,2]])
y3=tf.constant([[1,2]])
z3=tf.add(x3,y3)
with tf.Session() as sess:
z_result,z1_result,z2_result,z3_result=sess.run([z,z1,z2,z3])
print('z =\n%s'%(z_result))
print('z1 =%s'%(z1_result))
print('z2 =%s'%(z2_result))
print('z3 =%s'%(z3_result))
这里实现了z实现了2个shape相同的矩阵相加,是2个对应元素相加得到一个与原矩阵相同的shape的矩阵。z1两个数相加,得到另个一数。z2一个数和一个矩阵相加,这个就比较有趣了,是这个矩阵每个元素都加上这个数,输出一个矩阵。z3一个矩阵和一个维度不同的矩阵,得到的是在某个维度上相加之后得到的矩阵。总的来说tf.add的用法相当多,在使用的时候还是要多注意细节,但是x,y两个参数数据类型一定要相同。