DL框架之Tensorflow:Tensorflow中常用函數的簡介、使用方法之詳細攻略
目錄
1.1、tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
Tensorflow中常用函數的簡介、使用方法
1、tf.random_normal()函數
1.1、tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
tf.random_normal()函數:從正態分佈中生成隨機的矩陣參數,用於從“服從指定正態分佈的序列”中隨機取出指定個數的值。
- shape: 輸出張量的形狀,必選
- mean: 正態分佈的均值,默認爲0
- stddev: 正態分佈的標準差,默認爲1.0
- dtype: 輸出的類型,默認爲tf.float32
- seed: 隨機數種子,是一個整數,當設置之後,每次生成的隨機數都一樣,即保證每次運行時的參數不變,可以理解爲結果可以復現。
(1)、有網友理解,當seed固定爲數值時,這是預設的參數。
(2)、可以採用兩個相同或者不同的種子,但這不會造成多大差別,因爲隨機源進入了不同的進程。當然,也許有一些微小差別,這取決於不同機器的精度。 - name: 操作的名稱
def random_normal(shape,
mean=0.0,
stddev=1.0,
dtype=dtypes.float32,
seed=None,
name=None):
"""Outputs random values from a normal distribution.
1.2、tf.random_normal()函數應用
import tensorflow as tf
w1 = tf.Variable(tf.random_normal([2, 3], seed=1))
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(w1)
print(sess.run(w1))
# tf中張量與常規向量不同的是執行"print(w1)"輸出的是w1的形狀和數據類型等屬性信息,獲取w1的值需要調用sess.run(w1)方法。
w2 = tf.Variable(tf.random_normal([2, 3], seed=2))
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(w2)
print(sess.run(w2))
w3 = tf.Variable(tf.random_normal([2, 3], seed=3))
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(w3)
print(sess.run(w3))