您好,登錄后才能下訂單哦!
在學習人工智能時,大量的使用了np.random.seed(),利用隨機數種子,使得每次生成的隨機數相同。
我們帶著2個問題來進行下列實驗
例子1
import numpy as np if __name__ == '__main__': i = 0 while (i < 6): if (i < 3): np.random.seed(0) print(np.random.randn(1, 5)) else: print(np.random.randn(1, 5)) pass i += 1 print("-------------------") i = 0 while (i < 2): print(np.random.randn(1, 5)) i += 1 print(np.random.randn(2, 5)) print("---------重置----------") np.random.seed(0) i = 0 while (i < 8): print(np.random.randn(1, 5)) i += 1
可以看出,np.random.seed()對后面的隨機數一直有效。
兩次利用隨機數種子后,即便是跳出循環后,生成隨機數的結果依然是相同的。第一次跳出while循環后,進入第二個while循環,得到的兩個隨機數組確實和加了隨機數種子不一樣。但是,后面的加了隨機數種子的,八次循環中的結果和前面的結果是一樣的。說明,隨機數種子對后面的結果一直有影響。同時,加了隨機數種子以后,后面的隨機數組都是按一定的順序生成的。
例子2,隨機數種子參數的作用
import numpy as np if __name__ == '__main__': i = 0 np.random.seed(0) while (i < 3): print(np.random.randn(1, 5)) i += 1 i = 0 print("---------------------") np.random.seed(1) i = 0 while (i < 3): print(np.random.randn(1, 5)) i += 1
當隨機數種子參數為0和1時,生成的隨機數結果相同。說明該參數指定了一個隨機數生成的起始位置。每個參數對應一個位置。并且在該參數確定后,其后面的隨機數的生成順序也就確定了。
所以,隨機數種子的參數怎么選擇?這個參數只是確定一下隨機數的起始位置,可隨意分配。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。