91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PyTorch中torch.manual_seed()如何使用

發布時間:2022-06-13 10:07:16 來源:億速云 閱讀:202 作者:iii 欄目:開發技術

這篇文章主要介紹“PyTorch中torch.manual_seed()如何使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“PyTorch中torch.manual_seed()如何使用”文章能幫助大家解決問題。

    一、torch.manual_seed(seed) 介紹

    torch.manual_seed(seed) 功能描述

    設置 CPU 生成隨機數的 種子 ,方便下次復現實驗結果。

    為 CPU 設置 種子 用于生成隨機數,以使得結果是確定的。

    當你設置一個隨機種子時,接下來的隨機算法生成數根據當前的隨機種子按照一定規律生成。
    隨機種子作用域是在設置時到下一次設置時。要想重復實驗結果,設置同樣隨機種子即可。

    語法

    torch.manual_seed(seed) → torch._C.Generator

    參數

    seed,int類型,是種子 – CPU生成隨機數的種子。取值范圍為 [-0x8000000000000000, 0xffffffffffffffff] ,十進制是 [-9223372036854775808, 18446744073709551615] ,超出該范圍將觸發 RuntimeError 報錯。

    返回

    返回一個torch.Generator對象。

    二、類似函數的功能

    為CPU中設置種子,生成隨機數:

    torch.manual_seed(number)

    為特定GPU設置種子,生成隨機數:

    torch.cuda.manual_seed(number)

    為所有GPU設置種子,生成隨機數:

    # 如果使用多個GPU,應該使用torch.cuda.manual_seed_all()為所有的GPU設置種子。
    torch.cuda.manual_seed_all(number)

    使用原因 :

    在需要生成隨機數據的實驗中,每次實驗都需要生成數據。設置隨機種子是為了確保每次生成固定的隨機數,這就使得每次實驗結果顯示一致了,有利于實驗的比較和改進。使得每次運行該 .py 文件時生成的隨機數相同。

    三、實例

    實例 1 :不設隨機種子,生成隨機數

    # test.py
    import torch
    print(torch.rand(1)) # 返回一個張量,包含了從區間[0, 1)的均勻分布中抽取的一組隨機數

    每次運行test.py的輸出結果都不相同:

    tensor([0.4351])

    tensor([0.3651])

    tensor([0.7465])

    實例 2 :設置隨機種子,使得每次運行代碼生成的隨機數都一樣

    # test.py
    import torch
    # 設置隨機種子
    torch.manual_seed(0)
    # 生成隨機數
    print(torch.rand(1)) # 返回一個張量,包含了從區間[0, 1)的均勻分布中抽取的一組隨機數

    每次運行 test.py 的輸出結果都是一樣:

    tensor([0.4963])

    實例 3 :不同的隨機種子生成不同的值

    改變隨機種子的值,設為 1 :

    # test.py
    import torch
    torch.manual_seed(1)
    print(torch.rand(1)) # 返回一個張量,包含了從區間[0, 1)的均勻分布中抽取的一組隨機數

    每次運行 test.py,輸出結果都是:

    tensor([0.7576])

    改變隨機種子的值,設為 5 :

    # test.py
    import torch
    torch.manual_seed(5)
    print(torch.rand(1)) # 返回一個張量,包含了從區間[0, 1)的均勻分布中抽取的一組隨機數

    每次運行 test.py,輸出結果都是:

    tensor([0.8303])

    可見不同的隨機種子能夠生成不同的隨機數。

    但只要隨機種子一樣,每次運行代碼都會生成該種子下的隨機數。

    實例 4 :設置隨機種子后,是每次運行test.py文件的輸出結果都一樣,而不是每次隨機函數生成的結果一樣
    # test.py
    import torch
    torch.manual_seed(0)
    print(torch.rand(1))
    print(torch.rand(1))

    輸出結果:

    tensor([0.4963])
    tensor([0.7682])

    可以看到兩次打印 torch.rand(1) 函數生成的結果是不一樣的,但如果你再運行test.py,還是會打印:

    tensor([0.4963])
    tensor([0.7682])

    實例 5 :如果你就是想要每次運行隨機函數生成的結果都一樣,那你可以在每個隨機函數前都設置一模一樣的隨機種子

    # test.py
    import torch
    torch.manual_seed(0)
    print(torch.rand(1))
    torch.manual_seed(0)
    print(torch.rand(1))

    輸出結果:

    tensor([0.4963])
    tensor([0.4963])

    關于“PyTorch中torch.manual_seed()如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    新昌县| 云南省| 建德市| 金塔县| 海原县| 蕲春县| 金湖县| 临泽县| 当阳市| 丰原市| 新丰县| 稷山县| 韶山市| 淮安市| 南宁市| 兴海县| 浦江县| 荣成市| 阜康市| 霞浦县| 渭南市| 香河县| 新密市| 永康市| 南昌市| 沈阳市| 金坛市| 扎鲁特旗| 华宁县| 伊宁县| 个旧市| 石泉县| 冕宁县| 海阳市| 西乌珠穆沁旗| 徐州市| 海城市| 游戏| 苍溪县| 霞浦县| 纳雍县|