1. 程式人生 > >tensorflow 初始化單個引數的方式

tensorflow 初始化單個引數的方式

有時候在訓練網路的時候我們需要運用之前訓練好的結果但是又不想經歷 “訓練-儲存模型-載入模型-應用”這樣繁瑣的過程時,同時 在迴圈過程中我們可以在幾次for迴圈時避免初始化所有變數在迴圈中使用網路中已訓練好的引數如權重、偏置值b等,只初始化學習率這樣的外圍超引數,這樣就可以避免前面的繁瑣迴圈。這裡就是介紹只單個初始化變數,方法簡單,只是一開始沒想到,記錄下來:

# 第一步和正常定義一樣,就是定義變數的初始化方式,如:

learning_rate = tf.train.exponential_decay(0.01,global_step,50,0.96)

for XXX:
    ...
 #這樣就只對學習率進行初始化,避免初始化所有變數把之前訓練的網路權重也初始化導致訓練結果沒了的窘境。
    sess.run(learning_rate.initializer)
    ...
    ...

函式的功能及其中引數的含義:

這裡定義的是學習率的指數下降法,0.01即學習率的初始值,global_step 是全域性開始計數的起始步數,這個引數也要在之前定義好的,一般為0,即從一開始就開始計步;50表示每五十步進行一次學習了的衰減,衰減率為0.96,即衰減到上一次的96%,也就是0.96的含義。