欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyTorch中torch.manual_seed()的用法實(shí)例詳解

 更新時(shí)間:2022年06月11日 14:55:05   作者:想變厲害的大白菜  
在Pytorch中可以通過(guò)相關(guān)隨機(jī)數(shù)來(lái)生成張量,并且可以指定生成隨機(jī)數(shù)的分布函數(shù)等,下面這篇文章主要給大家介紹了關(guān)于PyTorch中torch.manual_seed()用法的相關(guān)資料,需要的朋友可以參考下

一、torch.manual_seed(seed) 介紹

torch.manual_seed(seed) 功能描述

設(shè)置 CPU 生成隨機(jī)數(shù)的 種子 ,方便下次復(fù)現(xiàn)實(shí)驗(yàn)結(jié)果。

為 CPU 設(shè)置 種子 用于生成隨機(jī)數(shù),以使得結(jié)果是確定的。

當(dāng)你設(shè)置一個(gè)隨機(jī)種子時(shí),接下來(lái)的隨機(jī)算法生成數(shù)根據(jù)當(dāng)前的隨機(jī)種子按照一定規(guī)律生成。
隨機(jī)種子作用域是在設(shè)置時(shí)到下一次設(shè)置時(shí)。要想重復(fù)實(shí)驗(yàn)結(jié)果,設(shè)置同樣隨機(jī)種子即可。

語(yǔ)法

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

參數(shù)

seed,int類型,是種子 – CPU生成隨機(jī)數(shù)的種子。取值范圍為 [-0x8000000000000000, 0xffffffffffffffff] ,十進(jìn)制是 [-9223372036854775808, 18446744073709551615] ,超出該范圍將觸發(fā) RuntimeError 報(bào)錯(cuò)。

返回

返回一個(gè)torch.Generator對(duì)象。

二、類似函數(shù)的功能

為CPU中設(shè)置種子,生成隨機(jī)數(shù):

torch.manual_seed(number)

為特定GPU設(shè)置種子,生成隨機(jī)數(shù):

torch.cuda.manual_seed(number)

為所有GPU設(shè)置種子,生成隨機(jī)數(shù):

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

使用原因 :

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

三、實(shí)例

實(shí)例 1 :不設(shè)隨機(jī)種子,生成隨機(jī)數(shù)

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

每次運(yùn)行test.py的輸出結(jié)果都不相同:

tensor([0.4351])

tensor([0.3651])

tensor([0.7465])

實(shí)例 2 :設(shè)置隨機(jī)種子,使得每次運(yùn)行代碼生成的隨機(jī)數(shù)都一樣

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

每次運(yùn)行 test.py 的輸出結(jié)果都是一樣:

tensor([0.4963])

實(shí)例 3 :不同的隨機(jī)種子生成不同的值

改變隨機(jī)種子的值,設(shè)為 1 :

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

每次運(yùn)行 test.py,輸出結(jié)果都是:

tensor([0.7576])

改變隨機(jī)種子的值,設(shè)為 5 :

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

每次運(yùn)行 test.py,輸出結(jié)果都是:

tensor([0.8303])

可見(jiàn)不同的隨機(jī)種子能夠生成不同的隨機(jī)數(shù)。

但只要隨機(jī)種子一樣,每次運(yùn)行代碼都會(huì)生成該種子下的隨機(jī)數(shù)。

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

輸出結(jié)果:

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

可以看到兩次打印 torch.rand(1) 函數(shù)生成的結(jié)果是不一樣的,但如果你再運(yùn)行test.py,還是會(huì)打?。?/p>

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

實(shí)例 5 :如果你就是想要每次運(yùn)行隨機(jī)函數(shù)生成的結(jié)果都一樣,那你可以在每個(gè)隨機(jī)函數(shù)前都設(shè)置一模一樣的隨機(jī)種子

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

輸出結(jié)果:

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

參考鏈接

【pytorch】torch.manual_seed()用法詳解

總結(jié)

到此這篇關(guān)于PyTorch中torch.manual_seed()的法的文章就介紹到這了,更多相關(guān)PyTorch中torch.manual_seed()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python isalnum()函數(shù)的具體使用

    Python isalnum()函數(shù)的具體使用

    本文主要介紹了Python isalnum()函數(shù)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 詳解python并發(fā)獲取snmp信息及性能測(cè)試

    詳解python并發(fā)獲取snmp信息及性能測(cè)試

    本篇文章主要介紹了詳解python并發(fā)獲取snmp信息及性能測(cè)試,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Python實(shí)現(xiàn)簡(jiǎn)繁體轉(zhuǎn)換

    Python實(shí)現(xiàn)簡(jiǎn)繁體轉(zhuǎn)換

    很多時(shí)候簡(jiǎn)繁體轉(zhuǎn)換,掌握了簡(jiǎn)體與繁體的轉(zhuǎn)換,往往能夠事半功倍,本文主要介紹了Python實(shí)現(xiàn)簡(jiǎn)繁體轉(zhuǎn)換,感興趣的可以了解一下
    2021-06-06
  • Python如何避免文件同名產(chǎn)生覆蓋

    Python如何避免文件同名產(chǎn)生覆蓋

    這篇文章主要介紹了Python如何避免文件同名產(chǎn)生覆蓋,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 使用Python實(shí)現(xiàn)圖像顏色量化的方法

    使用Python實(shí)現(xiàn)圖像顏色量化的方法

    這篇文章主要介紹了使用Python進(jìn)行圖像顏色量化,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • IronPython連接MySQL的方法步驟

    IronPython連接MySQL的方法步驟

    這篇文章主要介紹了IronPython連接MySQL的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • tensorflow 自定義損失函數(shù)示例代碼

    tensorflow 自定義損失函數(shù)示例代碼

    這篇文章主要介紹了tensorflow 自定義損失函數(shù)示例,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 用python繪制彩色螺旋線代碼

    用python繪制彩色螺旋線代碼

    大家好,本篇文章主要講的是用python繪制彩色螺旋線代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • python實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲

    python實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python TKinter如何自動(dòng)關(guān)閉主窗口

    Python TKinter如何自動(dòng)關(guān)閉主窗口

    這篇文章主要介紹了Python TKinter如何自動(dòng)關(guān)閉主窗口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論