0
A
回答
5
我不知道爲什麼你要向設置種子,尤其是對一個隨機數,更尤其是隨機浮動(注意:random.seed
想要一個大的整數)。
但是,如果你這樣做,很簡單:調用numpy.random.seed
函數。
請注意,NumPy的種子是32位整數的數組,而Python的種子是單個任意大小的整數(儘管查看文檔以瞭解當您傳遞其他類型時會發生什麼)。
所以,例如:
In [341]: np.random.seed(0)
In [342]: s = np.random.randn(10)
In [343]: s
Out[343]:
array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799,
-0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
In [344]: np.random.seed(0)
In [345]: s
Out[345]:
array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799,
-0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
兩次使用相同的種子(I了通過單一int
,這NumPy的將在內部轉換成的1 int32
數組的快捷方式),產生相同的隨機數。
+0
您在這裏只分配一次's',因此's'將始終保持不變,而與第二次設置種子無關。 – Darkonaut 2018-01-04 19:42:26
你爲什麼要設置種子?特別是對一個隨機數? – abarnert 2014-12-13 04:04:12