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

pytorch通過訓(xùn)練結(jié)果的復(fù)現(xiàn)設(shè)置隨機(jī)種子

 更新時(shí)間:2021年06月01日 08:56:22   作者:tianren9  
這篇文章主要介紹了pytorch通過訓(xùn)練結(jié)果的復(fù)現(xiàn)設(shè)置隨機(jī)種子的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

通過設(shè)置全局隨機(jī)種子使得每次的訓(xùn)練結(jié)果相同可以復(fù)現(xiàn)

def seed_torch(seed=2018):
    random.seed(seed)
    os.environ['PYTHONHASHSEED'] = str(seed)
    np.random.seed(seed)
    torch.manual_seed(seed)
    torch.cuda.manual_seed(seed)
    torch.backends.cudnn.deterministic = True

這里我主要講一下模型在復(fù)現(xiàn)結(jié)果遇到的一些問題。

首先在固定隨機(jī)種子之后,每次模型訓(xùn)練出來的結(jié)果一定是一樣的,如果不相同,那么說明訓(xùn)練過程中一定還有一部分隨機(jī)性操作沒有被固定。

將模型參數(shù)保存下來,然后加載模型參數(shù)進(jìn)行測(cè)試,如果發(fā)現(xiàn)結(jié)果和訓(xùn)練過程中得到的結(jié)果有差異。

這個(gè)時(shí)候就需要按照以下步驟進(jìn)行分析:

1、先改變batchsize,看看實(shí)驗(yàn)復(fù)現(xiàn)的結(jié)果是否會(huì)發(fā)生變化。如果發(fā)生變化就說明batchsize會(huì)影響模型推理過程中的參數(shù)。

2、檢查一下forward中有哪些參數(shù)跟batchsize有關(guān),或者是不是代碼寫錯(cuò)了。比如batchsize就會(huì)影響LSTM的模型參數(shù)的初始化。

3、最后檢查測(cè)試集劃分batch的時(shí)候是否都一樣。

test_loader = DataLoader(test_dataset, batch_size=batchsize, shuffle=True, num_workers=4, pin_memory=True)

比如這樣一行代碼,測(cè)試集每次都被打亂了,雖然固定了隨機(jī)種子,但是這樣只能保證第k輪的隨機(jī)種子是一樣的,而第1輪和第10輪的隨機(jī)種子是不一樣的。

這樣的話,比如模型在第13個(gè)epoch收斂,得到的結(jié)果在是第13輪的測(cè)試集進(jìn)行測(cè)試的,而模型在加載的時(shí)候是在第一輪的測(cè)試進(jìn)行測(cè)試的,結(jié)果自然有差異。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python簡(jiǎn)單定義與使用二叉樹示例

    Python簡(jiǎn)單定義與使用二叉樹示例

    這篇文章主要介紹了Python簡(jiǎn)單定義與使用二叉樹,結(jié)合實(shí)例形式分析了Python定義二叉樹及節(jié)點(diǎn)插入相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • python編寫一個(gè)會(huì)算賬的腳本的示例代碼

    python編寫一個(gè)會(huì)算賬的腳本的示例代碼

    這篇文章主要介紹了python編寫一個(gè)會(huì)算賬的腳本,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析

    python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析

    這篇文章主要介紹了python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實(shí)驗(yàn)題分析實(shí)例

    python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實(shí)驗(yàn)題分析實(shí)例

    這篇文章主要介紹了python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實(shí)驗(yàn)題分析,總的來說這并不是難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路
    2022-12-12
  • 打包發(fā)布Python模塊的方法詳解

    打包發(fā)布Python模塊的方法詳解

    這篇文章我們來學(xué)習(xí)打包與發(fā)布你的Python模塊的基礎(chǔ)知識(shí)以及方法,非常的簡(jiǎn)單實(shí)用。所以不要浪費(fèi)時(shí)間了,咱們開始吧!
    2016-09-09
  • Python使用GitPython操作Git版本庫(kù)的方法

    Python使用GitPython操作Git版本庫(kù)的方法

    這篇文章主要介紹了Python使用GitPython操作Git版本庫(kù)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python基于SciPy庫(kù)實(shí)現(xiàn)統(tǒng)計(jì)分析與建模

    Python基于SciPy庫(kù)實(shí)現(xiàn)統(tǒng)計(jì)分析與建模

    SciPy是一個(gè)強(qiáng)大的Python庫(kù),提供了豐富的科學(xué)計(jì)算和數(shù)據(jù)分析工具,本文我們將探討如何使用Python和SciPy庫(kù)進(jìn)行統(tǒng)計(jì)分析和建模,感興趣的可以學(xué)習(xí)一下
    2023-06-06
  • Python 如何測(cè)試文件是否存在

    Python 如何測(cè)試文件是否存在

    這篇文章主要介紹了Python 如何測(cè)試文件是否存在,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 淺談python print(xx, flush = True) 全網(wǎng)最清晰的解釋

    淺談python print(xx, flush = True) 全網(wǎng)最清晰的解釋

    今天小編就為大家分享一篇淺談python print(xx, flush = True) 全網(wǎng)最清晰的解釋,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • pycharm如何使用anaconda中的各種包(操作步驟)

    pycharm如何使用anaconda中的各種包(操作步驟)

    這篇文章主要介紹了pycharm如何使用anaconda中的各種包,本文通過操作步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論