tf.add(x,y,name=None)
x,y类型一致,必须是一个张量,包含以下几种类型之一:half, float32, float64, uint8, int8, int16, int32, int64, complex64, complex128, string
tf.nn.bias_add
解释:这个函数的作用是将偏差bias加到value上面
这个操作你可以看作是tf.add的一个特例。其中bias必须是一维的。该API支持广播形式,因此value可以有任何维度。但是该API又不像tf.add,可以让bias的维度和value的最后一维不同。
输入参数说明:
- value:一个Tensor。数据类型必须是float, double, int32, int16, int8, unit8, 或者complex64。
- bias:一个一维的Tensor,数据维度和value的最后一维相同。数据类型必须和value相同。
- name:可选
输出参数说明:
- 一个Tensor,数据类型和value相同
举例:
import tensorflow as tf
a=tf.constant([[1,1],[2,2],[3,3]],dtype=tf.float32)
b=tf.constant([1,-1],dtype=tf.float32)
c=tf.constant([1],dtype=tf.float32)
with tf.Session() as sess:
print('bias_add:')
print(sess.run(tf.nn.bias_add(a, b)))
#执行下面语句错误
#print(sess.run(tf.nn.bias_add(a, c)))
print('add:')
print(sess.run(tf.add(a, c)))
输出结果:
bias_add:
[[ 2. 0.]
[ 3. 1.]
[ 4. 2.]]
add:
[[ 2. 2.]
[ 3. 3.]
[ 4. 4.]]
tf.add_n(inputs,name=None)
函数是实现一个列表的元素的相加。就是输入的对象是一个列表,列表里的元素可以是向量,矩阵等但没有广播功能
例子:
import tensorflow as tf;
import numpy as np;
input1 = tf.constant([1.0, 2.0, 3.0])
input2 = tf.Variable(tf.random_uniform([3]))
output = tf.add_n([input1, input2])
with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
print (sess.run(input1 + input2))
print (sess.run(output))
输出
[ 1.30945706 2.29760814 3.81558323]
[ 1.30945706 2.29760814 3.81558323]