Tensorflow初始化變數

2021-08-24 17:33:48 字數 1093 閱讀 6643

變數必須先初始化後才可使用。如果您在低級別 tensorflow api 中進行程式設計(即您在顯式建立自己的圖和會話),則必須明確初始化變數。tf.contrib.slimtf.estimator.estimatorkeras等大多數高階框架在訓練模型前會自動為您初始化變數。

要在訓練開始前一次性初始化所有可訓練變數,請呼叫tf.global_variables_initializer()。此函式會返回乙個操作,負責初始化tf.graphkeys.global_variables集合中的所有變數。執行此操作會初始化所有變數。例如:

session.run(tf.global_variables_initializer())

# now all variables are initialized.

如果您確實需要自行初始化變數,則可以執行變數的初始化器操作。例如:

session.run(my_variable.initializer)
您可以查詢哪些變數尚未初始化。例如,以下**會列印所有尚未初始化的變數名稱:

print(session.run(tf.report_uninitialized_variables()))
請注意,預設情況下,tf.global_variables_initializer不會指定變數的初始化順序。因此,如果變數的初始值取決於另一變數的值,那麼很有可能會出現錯誤。任何時候,如果您在並非所有變數都已初始化的上下文中使用某個變數值(例如在初始化某個變數時使用另一變數的值),最好使用variable.initialized_value(),而非variable

v = tf.get_variable("v", shape=(), initializer=tf.zeros_initializer())

w = tf.get_variable("w", initializer=v.initialized_value() + 1)

TensorFlow變數初始化

import tensorflow as tf w1 tf.variable tf.random normal 2,3 stddev 1,seed 1 with tf.session as sess sess.run tf.global variables initializer print w1 ...

TensorFlow 變數初始化函式

tensorflow 中的變數初始化函式 初始化函式 功能主要引數 tf.constant initializer 將變數初始化為給定常量 常量的取值 tf.random normal initializer 將變數初始化為滿足正太分布的隨機值 正太分布的均值和標準差 tf.truncated no...

TensorFlow的變數初始化

初始化函式 功能主要引數 tf.constant initializer 將變數初始化為給定常量 常量的取值 tf.random normal initializer 將變數初始化為滿足正太分布的隨機值 正太分布的均值和標準差 tf.truncated normal initializer 將變數初...