1. 程式人生 > >tensorflow-隨機數RandomState生成

tensorflow-隨機數RandomState生成

RandomState是numpy庫中的一個函式,在呼叫的過程中要設定隨機種子seed。其中seed的值會影響得到的值的效果,如果是seed相同的情況下得到的值是相同的。同時RandomState方法可以完全的取代numpy.random.seed()方法,下面開始用例項展示RandomState的使用

import numpy as np
for i in range(2):
    rand = np.random.RandomState(10)
    arrayA = rand.uniform(0, 1, (2, 3)) #生成兩行三列的矩陣同時矩陣的值在[0,1]範圍之內
    print arrayA
print "-------------------"
for i in range(2):
    rand = np.random.RandomState(10 + i)
    arrayA = rand.uniform(0, 1, (2, 3))
    print arrayA
    np.random.seed()

結果:

[[ 0.77132064  0.02075195  0.63364823]
 [ 0.74880388  0.49850701  0.22479665]]
[[ 0.77132064  0.02075195  0.63364823]
 [ 0.74880388  0.49850701  0.22479665]]
-------------------
[[ 0.77132064  0.02075195  0.63364823]
 [ 0.74880388  0.49850701  0.22479665]]
[[ 0.18026969  0.01947524  0.46321853]
 [ 0.72493393  0.4202036   0.4854271 ]]

實驗結果顯示當RandomState中的seed值相同時得到的矩陣值也相同。可以通過設定不同的seed值實現得到不同的矩陣值。