美文网首页python与Tensorflow
Tensorflow——tf.nn.bias_add和tf.ad

Tensorflow——tf.nn.bias_add和tf.ad

作者: SpareNoEfforts | 来源:发表于2018-10-30 14:55 被阅读290次

    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]
    

    相关文章

      网友评论

        本文标题:Tensorflow——tf.nn.bias_add和tf.ad

        本文链接:https://www.haomeiwen.com/subject/lxegtqtx.html