TensorFlow學習(三)之-——常用隨機函數用法與numpy常用隨機函數

一、TensorFlow常用隨機函數

1.tf.constant

tf.constant(value, dtype=None, shape=None) 

 

創建一個常量tensor,按照給出value來賦值,可以用shape來指定其形狀。value可以是一個數,也可以是一個list。 如果是一個數,那麼這個常亮中所有值的按該數來賦值。

2.tf.random_normal

從正態分佈中輸出隨機值。

.

random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)

.

  • shape:一個一維整數張量或Python數組。代表張量的形狀。
  • mean:數據類型爲dtype的張量值或Python值。是正態分佈的均值。
  • stddev:數據類型爲dtype的張量值或Python值。是正態分佈的標準差。
  • dtype: 輸出的數據類型。
  • seed:一個Python整數。是隨機種子。
  • name: 操作的名稱(可選)

3.tf.random_uniform

從均勻分佈中返回隨機值。


random_uniform(
    shape,# 生成的張量的形狀
    minval=0,
    maxval=None,
    dtype=tf.float32,
    seed=None,
    name=None
)

 

生成的值在該 [minval, maxval) 範圍內遵循均勻分佈。下限 minval 包含在範圍內,而上限 maxval 被排除在外。

對於浮點數,默認範圍是 [0, 1)。對於整數,至少 maxval 必須明確地指定。

4.tf.truncated_normal

截斷的正態分佈函數。生成的值遵循一個正態分佈,但不會大於平均值2個標準差。


truncated_normal(
    shape,#一個一維整數張量或Python數組。代表張量的形狀。
    mean=0.0,#數據類型爲dtype的張量值或Python值。是正態分佈的均值。
    stddev=1.0,#數據類型爲dtype的張量值或Python值。是正態分佈的標準差
    dtype=tf.float32,#輸出的數據類型。
    seed=None,#一個Python整數。是隨機種子。
    name=None#操作的名稱(可選)

均值mean,標準差stddev,不過只保留[mean-2*stddev,mean+2*stddev]範圍內的隨機數 

 

二 numpy常用隨機函數

numpy.random模塊中提供啦大量的隨機數相關的函數。

1.np.random.rand()    產生[0,1]的浮點隨機數,括號裏面的參數可以指定產生數組的形狀

np.random.rand(3,4)

2.np.random.randn()    產生標準正太分佈隨機數,參數含義與random相同

np.random.randn(5,4)


結果
[[-1.06128233  2.05769296  0.66567882 -1.19136282]
 [-1.21041218 -0.29011266 -0.74136649  0.55090234]
 [ 1.32837237 -0.21128273 -0.04655965  1.51024977]
 [-1.28949484 -1.32214778  0.38804516  0.28318636]
 [-0.35908066 -1.25130597 -0.67405666  1.00286815]]

3.np.random.randint()    產生指定範圍的隨機數,最後一個參數是元祖,他確定數組的形狀

np.random.randint(0,10,size=(4,3))


結果:[[5 1 4]
 [3 5 6]
 [6 8 8]
 [4 5 9]]

4.np.random.normal()    正太分佈

#第一個參數是均值,第二個參數是標準差 size 是矩陣shape
np.random.normal(100,10,size=(3,4))

結果:[[107.99033338  97.95229221 116.29867604  94.42608736]
 [105.07905444  90.23516994  95.17251591  75.46464973]
 [ 94.70846796  83.64843062  97.88125587  96.90127029]]

5.np.random.uniform()    均勻分佈

#前兩個參數分別是區間的初始值和終值
np.random.uniform(0,10,size=(3,4))
結果
[[8.18963087 0.80643217 3.58908063 1.57584143]
 [9.99805831 0.74725383 2.57867196 8.7053287 ]
 [7.61707961 9.38398185 0.73466857 1.64189496]]

6.np.random.poisson()     泊松分佈

隨機變量X的平均值和方差都是λ

#第一個參數爲指定的lanbda係數,就是下公式裏面的λ
 np.random.poisson(2.0,size = (3,4))

結果
[[1 1 3 2]
 [3 3 3 1]
 [1 1 2 5]]

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