tf.truncated_normal與tf.random_normal的詳細用法
本文介紹了tf.truncated_normal與tf.random_normal的詳細用法,分享給大家,具體如下:
tf.truncated_normal
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
從截斷的正態(tài)分布中輸出隨機值。
生成的值服從具有指定平均值和標準偏差的正態(tài)分布,如果生成的值大于平均值2個標準偏差的值則丟棄重新選擇。
在正態(tài)分布的曲線中,橫軸區(qū)間(μ-σ,μ+σ)內(nèi)的面積為68.268949%。
橫軸區(qū)間(μ-2σ,μ+2σ)內(nèi)的面積為95.449974%。
橫軸區(qū)間(μ-3σ,μ+3σ)內(nèi)的面積為99.730020%。
X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在實際問題中常認為相應的事件是不會發(fā)生的,基本上可以把區(qū)間(μ-3σ,μ+3σ)看作是隨機變量X實際可能的取值區(qū)間,這稱之為正態(tài)分布的“3σ”原則。
在tf.truncated_normal中如果x的取值在區(qū)間(μ-2σ,μ+2σ)之外則重新進行選擇。這樣保證了生成的值都在均值附近。
參數(shù):
shape: 一維的張量,也是輸出的張量。
mean: 正態(tài)分布的均值。
stddev: 正態(tài)分布的標準差。
dtype: 輸出的類型。
seed: 一個整數(shù),當設置之后,每次生成的隨機數(shù)都一樣。
name: 操作的名字。
import tensorflow as tf; import numpy as np; import matplotlib.pyplot as plt; c = tf.truncated_normal(shape=[10,10], mean=0, stddev=1) with tf.Session() as sess: print sess.run(c)
輸出:
[[ 1.95758033 -0.68666345 -1.83860338 0.78213859 -1.08119416 -1.44530308
0.38035342 0.57904619 -0.57145643 -1.22899497]
[-0.75853795 0.48202974 1.03464043 1.19210851 -0.15739718 0.8506189
1.18259966 -0.99061841 -0.51968449 1.38996458]
[ 1.05636907 -0.02668529 0.64182931 0.4110294 -0.4978295 -0.64912242
1.27779591 -0.01533993 0.47417602 -1.28639436]
[-1.65927458 -0.364887 -0.45535028 0.078814 -0.30295736 1.91779387
-0.66928798 -0.14847915 0.91875714 0.61889237]
[-0.01308221 -0.38468206 1.34700036 0.64531708 1.15899456 1.09932268
1.22457981 -1.1610316 0.59036094 -1.97302651]
[-0.24886213 0.82857937 0.09046989 0.39251322 0.21155456 -0.27749416
0.18883201 0.08812679 -0.32917103 0.20547724]
[ 0.05388507 0.45474565 0.23398806 1.32670367 -0.01957406 0.52013856
-1.13907862 -1.71957874 0.75772947 -1.01719368]
[ 0.27155915 0.05900437 0.81448066 -0.37997526 -0.62020499 -0.88820189
1.53407145 -0.01600445 -0.4236775 -1.68852305]
[ 0.78942037 -1.32458341 -0.91667277 -0.00963761 0.76824385 -0.5405798
-0.73307443 -1.19854116 -0.66179073 0.26329204]
[ 0.59473759 -0.37507254 -1.21623695 -1.30528259 1.18013096 -1.32077384
-0.59241474 -0.28063133 0.12341146 0.48480138]]
tf.random_normal
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
從正態(tài)分布中輸出隨機值。
參數(shù):
- shape: 一維的張量,也是輸出的張量。
- mean: 正態(tài)分布的均值。
- stddev: 正態(tài)分布的標準差。
- dtype: 輸出的類型。
- seed: 一個整數(shù),當設置之后,每次生成的隨機數(shù)都一樣。
- name: 操作的名字。
代碼
a = tf.Variable(tf.random_normal([2,2],seed=1)) b = tf.Variable(tf.truncated_normal([2,2],seed=2)) init = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) print(sess.run(a)) print(sess.run(b))
輸出:
[[-0.81131822 1.48459876]
[ 0.06532937 -2.44270396]]
[[-0.85811085 -0.19662298]
[ 0.13895047 -1.22127688]]
指定seed之后,a的值不變,b的值也不變。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python簡單獲取網(wǎng)卡名稱及其IP地址的方法【基于psutil模塊】
這篇文章主要介紹了Python簡單獲取網(wǎng)卡名稱及其IP地址的方法,結(jié)合實例形式分析了Python基于psutil模塊針對本機網(wǎng)卡硬件信息的讀取操作簡單使用技巧,需要的朋友可以參考下2018-05-05
如何基于Python實現(xiàn)一個慶祝國慶節(jié)的小程序
這篇文章主要介紹了如何基于Python實現(xiàn)一個慶祝國慶節(jié)的小程序,增加了互動選擇祝福語、查詢信息、播放背景音樂及趣味小測驗等功能,使用tkinter增強GUI,提升用戶互動體驗,需要的朋友可以參考下2024-09-09
Python如何import文件夾下的文件(實現(xiàn)方法)
下面小編就為大家?guī)硪黄狿ython如何import文件夾下的文件(實現(xiàn)方法)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
利用Python的tkinter模塊實現(xiàn)界面化的批量修改文件名
這篇文章主要介紹了利用Python的tkinter模塊實現(xiàn)界面化的批量修改文件名,用Python編寫過批量修改文件名的腳本程序,代碼很簡單,運行也比較快,詳細內(nèi)容需要的小伙伴可以參考一下下面文章內(nèi)容2022-08-08
pytorch方法測試——激活函數(shù)(ReLU)詳解
今天小編就為大家分享一篇pytorch方法測試——激活函數(shù)(ReLU)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

