tensorflow筆記(三):剛開始不太理解的幾個函數

推薦一個快速查詢tensorflow API的網站:https://docs.w3cub.com/tensorflow~python/

一、指數衰減學習率

learning_rate = LEARNING_RATE_BASE*LEARNING_RATE_DECAY^(global_step/LEARNING_RATE_BATCH_SIZE)

LEARNING_RATE_BASE爲初始學習率,LEARNING_RATE_DECAY 爲學習率衰減率,global_step 記
錄了當前訓練輪數,爲不可訓練型參數。LEARNING_RATE_BATCH_SIZE=(總樣本數/BATCH_SIZE),是learning_rate的更新頻率。

tensorflow中的用法爲

LEARNING_RATE_BASE = 0.1 #最初學習率
LEARNING_RATE_DECAY = 0.99 #學習率衰減率
LEARNING_RATE_STEP = 1  #喂入多少輪BATCH_SIZE後,更新一次學習率,一般設爲:總樣本數/BATCH_SIZE

learning_rate = tf.train.exponential_decay(LEARNING_RATE_BASE, global_step, LEARNING_RATE_STEP, LEARNING_RATE_DECAY, staircase=True)

二、 tf.reduce_mean()

tf.reduce_mean 函數用於計算張量tensor沿着指定的數軸(tensor的某一維度)上的的平均值,主要用作降維或者計算tensor(圖像)的平均值。

tf.reduce_mean(
    input_tensor,  #待降維的tensor
    axis=None,  #指定的軸,如果不指定,則計算所有元素的均值
    keepdims=None,  #是否降維度,設置爲True,輸出的結果保持輸入tensor的形狀,設置爲False,輸出結果會降低維度
    name=None,  #操作的名稱
    reduction_indices=None, #已棄用
    keep_dims=None #已棄用
))

下面看官網給的例子:

x = tf.constant([[1., 1.], [2., 2.]])
tf.reduce_mean(x)  # 1.5
tf.reduce_mean(x, 0)  # [1.5, 1.5]
tf.reduce_mean(x, 1)  # [1.,  2.]

配上我在終端中運行的代碼對tensor及reduce_mean函數進行綜合理解: 

 

 

 shape中第一個數代表一維中元素的數量,第二個數代表二維中元素的數量。也可以將一維理解爲行,二維理解爲列,三維理解爲厚度。更好的理解請看該鏈接:https://blog.csdn.net/qq_34122708/article/details/86633492

三、tf.control_dependencies()

對兩個或多個節點建立依賴關係,官網例子:

with g.control_dependencies([a, b, c]):
  # `d` and `e` will only run after `a`, `b`, and `c` have executed.
  d = ...
  e = ...

使用with關鍵字後,當運行d或e之前會先計算出a,b,c的值。

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