tf.nn.bias_add和tf.add、tf.add_n

tf.add(x,y,name=None)

x:a tensor musut be one of                           the following types: halffloat32float64uint8int8int16int32int64complex64complex128string.  

y: A Tensor. Must have the same type as x.

name: A name for the operation (optional).

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.nn.bias_add和tf.add、tf.add_n_第1张图片

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]
原文链接:https://www.cnblogs.com/lovephysics/p/7222022.html

你可能感兴趣的:(tensorflow积累)