初始化函式
功能主要引數
tf.constant_initializer
將變數初始化為給定常量
常量的取值
tf.random_normal_initializer
將變數初始化為滿足正太分布的隨機值
正太分布的均值和標準差
tf.truncated_normal_initializer
將變數初始化為滿足正太分布的隨機值,但是變數隨機的值偏離平均值超過兩個標準差,那麼這個數將被重新隨機
正太分布的均值和標準差
tf.random_uniform_initializer
將變數初始化為滿足平均分布的隨機值
最大、最小值
tf.uniform_unit_scaling_initializer
將變數初始化為滿足平均分布但不影響輸出數量集的隨機值
factor(產生的隨機數值乘以係數)
tf.zeros_initializer
將變數設為全0
變數維度
tf.ones_initializer
將變數設為全1
變數維度
tf.get_variable的初始化呼叫為:
tf.get_variable(name, shape=none,initializer=none, dtype=tf.float32, trainable=true, collections=none)
其中initializer就是變數初始化的方法,初始化的方式有以下種類:
initializer = tf.constant_initializer(const):常量初始化函式
initializer = tf.random_normal_initializer():正態分佈初始化函式
initializer = tf.truncated_normal_initializer(mean = 0.0, stddev = 1.0, seed = none, dtype = dtypes.float32):擷取的正態分佈初始化函式
initializer = tf.random_uniform_initializer(minval = 0, maxval = none, seed = none, dtype = dtypes.float32):均勻分布初始化函式
initializer = tf.zeros_initializer():全0常量初始化函式
initializer = tf.ones_initializer():全1常量初始化函式
initializer = tf.uniform_unit_scaling_initializer(factor = 1.0, seed = none, dtype = dtypes.float32):均勻分布(不指定最小、最大值),初始化函式
initializer = tf.variance_scaling_initializer(scale = 1.0, mode = 「fan_in」, distribution = 「normal」, seed = none, dtype = dtypes.float32):由mode確定是擷取的正態分佈,還是均勻分布初始化函式
initializer = tf.orthogonal_initializer():正交矩陣初始化函式
initializer = tf.glorot_uniform_initializer():由輸入單元節點數和輸出單元節點數確定的均勻分布初始化函式
initializer = tf.glorot_normal_initializer():由輸入單元節點數和輸出單元節點數確定的擷取的正態分佈初始化函式
ps: tf.get_variable中initializer的初始化不需要再指定shape了,已經在外面指定。
基本的變數初始化為:
tf.ones(shape, dtype = tf.float32, name = none)
tf.zeros(shape, dtype = tf.float32, name = none)
tf.ones_like(tensor, dtype = none, name = none)
tf.zeros_like(tensor, dtype = none, name = none)
tf.fill(dim, value, name = none)
tf.constant(value, dtype = none, shape = none, name = none)
tf.linspace(start, stop, num, name = none)
tf.range(start, limit = none, delta = 1, name = none)
tf.random_normal(shape, mean = 0.0, stddev = 1.0, dtype = tf.float32, seed = none, name = none)
tf.truncated_normal(shape, mean = 0.0, stddev = 1.0, dtype = tf.float32, seed = none, name = none)
tf.random_uniform(shape, minval = 0, maxval = none, dtype = tf.float32, seed = none, name = none)
tf.random_shuffle(value, seed =none, name = none)
tf.set_random_seed(seed):設定產生隨機數的種子
例如:tf.set_random_seed(123456789)
vara = tf.random_normal([1.0])
Tensorflow初始化變數
變數必須先初始化後才可使用。如果您在低級別 tensorflow api 中進行程式設計 即您在顯式建立自己的圖和會話 則必須明確初始化變數。tf.contrib.slim tf.estimator.estimator和keras等大多數高階框架在訓練模型前會自動為您初始化變數。要在訓練開始前一次性...
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...