tensorflow學習框架之添加層 def add_layer()

  1. 定義 add_layer()
    在 Tensorflow 裏定義一個添加層的函數可以很容易的添加神經層,爲之後的添加省下不少時間.

    神經層裏常見的參數通常有weights、biases和激勵函數。

    首先,我們需要導入tensorflow模塊。

    import tensorflow as tf
    

    然後定義添加神經層的函數def add_layer(),它有四個參數:輸入值、輸入的大小、輸出的大小和激勵函數,我們設定默認的激勵函數是None。

    def add_layer(inputs, in_size, out_size,activation_function=None): 
    

    接下來,我們開始定義weights和biases。

    因爲在生成初始參數時,隨機變量(normal distribution)會比全部爲0要好很多,所以我們這裏的weights爲一個in_size行, out_size列的隨機變量矩陣。

    Weights = tf.Variable(tf.random_normal([in_size, out_size]))
    

    在機器學習中,biases的推薦值不爲0,所以我們這裏是在0向量的基礎上又加了0.1。

    biases = tf.Variable(tf.zeros([1, out_size]) + 0.1)
    

    下面,我們定義Wx_plus_b, 即神經網絡未激活的值。其中,tf.matmul()是矩陣的乘法。

    Wx_plus_b = tf.matmul(inputs, Weights) + biases
    

    當activation_function——激勵函數爲None時,輸出就是當前的預測值——Wx_plus_b,不爲None時,就把Wx_plus_b傳到activation_function()函數中得到輸出。

    if activation_function is None:
        outputs = Wx_plus_b
    else:
        outputs = activation_function(Wx_plus_b)
    

    最後,返回輸出,添加一個神經層的函數——def add_layer()就定義好了。

    return outputs
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章