欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > PyTorch 如何設置隨機數種子使結果可復現

PyTorch 如何設置隨機數種子使結果可復現

熱門標簽:陜西金融外呼系統 哈爾濱ai外呼系統定制 海南400電話如何申請 公司電話機器人 騰訊外呼線路 唐山智能外呼系統一般多少錢 白銀外呼系統 激戰2地圖標注 廣告地圖標注app

由于在模型訓練的過程中存在大量的隨機操作,使得對于同一份代碼,重復運行后得到的結果不一致。

因此,為了得到可重復的實驗結果,我們需要對隨機數生成器設置一個固定的種子。

CUDNN

cudnn中對卷積操作進行了優化,犧牲了精度來換取計算效率。如果需要保證可重復性,可以使用如下設置:

from torch.backends import cudnn
cudnn.benchmark = False            # if benchmark=True, deterministic will be False
cudnn.deterministic = True

不過實際上這個設置對精度影響不大,僅僅是小數點后幾位的差別。所以如果不是對精度要求極高,其實不太建議修改,因為會使計算效率降低。

Pytorch

torch.manual_seed(seed)            # 為CPU設置隨機種子
torch.cuda.manual_seed(seed)       # 為當前GPU設置隨機種子
torch.cuda.manual_seed_all(seed)   # 為所有GPU設置隨機種子

Python Numpy

如果讀取數據的過程采用了隨機預處理(如RandomCrop、RandomHorizontalFlip等),那么對python、numpy的隨機數生成器也需要設置種子。

import random
import numpy as np
random.seed(seed)
np.random.seed(seed)

Dataloader

如果dataloader采用了多線程(num_workers > 1), 那么由于讀取數據的順序不同,最終運行結果也會有差異。

也就是說,改變num_workers參數,也會對實驗結果產生影響。

目前暫時沒有發現解決這個問題的方法,但是只要固定num_workers數目(線程數)不變,基本上也能夠重復實驗結果。

補充:pytorch 固定隨機數種子踩過的坑

1.初步固定

 def setup_seed(seed):
     torch.manual_seed(seed)
     torch.cuda.manual_seed_all(seed)
     torch.cuda.manual_seed(seed)
     np.random.seed(seed)
     random.seed(seed)
     torch.backends.cudnn.deterministic = True
     torch.backends.cudnn.enabled = False
     torch.backends.cudnn.benchmark = False
     #torch.backends.cudnn.benchmark = True #for accelerating the running
 setup_seed(2019)

2.繼續添加如下代碼:

tensor_dataset = ImageList(opt.training_list,transform)
def _init_fn(worker_id): 
    random.seed(10 + worker_id)
    np.random.seed(10 + worker_id)
    torch.manual_seed(10 + worker_id)
    torch.cuda.manual_seed(10 + worker_id)
    torch.cuda.manual_seed_all(10 + worker_id)
dataloader = DataLoader(tensor_dataset,                        
                    batch_size=opt.batchSize,     
                    shuffle=True,     
                    num_workers=opt.workers,
                    worker_init_fn=_init_fn)

3.在上面的操作之后發現加載的數據多次試驗大部分一致了

但是仍然有些數據是不一致的,后來發現是pytorch版本的問題,將原先的0.3.1版本升級到1.1.0版本,問題解決

4.按照上面的操作后雖然解決了問題

但是由于將cudnn.benchmark設置為False,運行速度降低到原來的1/3,所以繼續探索,最終解決方案是把第1步變為如下,同時將該部分代碼盡可能放在主程序最開始的部分,例如:

import torch
import torch.nn as nn
from torch.nn import init
import pdb
import torch.nn.parallel
import torch.nn.functional as F
import torch.backends.cudnn as cudnn
import torch.optim as optim
import torch.utils.data
from torch.utils.data import DataLoader, Dataset
import sys
gpu_id = "3,2"
os.environ["CUDA_VISIBLE_DEVICES"] = gpu_id
print('GPU: ',gpu_id)
def setup_seed(seed):
     torch.manual_seed(seed)
     torch.cuda.manual_seed_all(seed)
     torch.cuda.manual_seed(seed)
     np.random.seed(seed)
     random.seed(seed)
     cudnn.deterministic = True
     #cudnn.benchmark = False
     #cudnn.enabled = False

setup_seed(2019)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 簡述python&pytorch 隨機種子的實現
  • Pytorch在dataloader類中設置shuffle的隨機數種子方式
  • pytorch通過訓練結果的復現設置隨機種子

標簽:益陽 惠州 鷹潭 四川 常德 黔西 黑龍江 上海

巨人網絡通訊聲明:本文標題《PyTorch 如何設置隨機數種子使結果可復現》,本文關鍵詞  PyTorch,如何,設置,隨機數,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PyTorch 如何設置隨機數種子使結果可復現》相關的同類信息!
  • 本頁收集關于PyTorch 如何設置隨機數種子使結果可復現的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲成国产人片在线观看| 亚洲午夜久久久久久久久红桃 | 中文字幕国产专区| 欧美日韩国产大片| 亚洲一二三四区不卡| 99re成人精品视频| 在线一区二区三区| 亚洲免费在线播放| 91在线国内视频| 欧美无砖砖区免费| 亚洲一区二区高清| 久久国产劲爆∧v内射| 欧美日韩国产乱码电影| 亚洲成人激情av| 国产制服丝袜在线| 欧美videos大乳护士334| 另类人妖一区二区av| 欧美偷拍一区二区三区| 精品91自产拍在线观看一区| 极品瑜伽女神91| 久草手机视频在线观看| 国产精品久久久久久久久图文区| 成人三级伦理片| 91黄色激情网站| 亚洲综合成人在线| 亚洲国产果冻传媒av在线观看| 欧美一区午夜视频在线观看| 美女在线视频一区| 日日操免费视频| 日韩毛片视频在线看| 日本女人黄色片| 这里是久久伊人| 久久99国产精品成人| 999精品在线视频| 亚洲美腿欧美偷拍| 国产激情视频网站| 久久蜜臀精品av| 成人99免费视频| 91精品婷婷国产综合久久性色| 美国欧美日韩国产在线播放| 很污很黄的网站| 亚洲欧美国产高清| 99久久人妻无码中文字幕系列| 精品福利一二区| 99久久久久免费精品国产| 欧美一区二区三区在线电影| 韩国午夜理伦三级不卡影院| 五月婷婷一区二区三区| 亚洲不卡av一区二区三区| 亚洲精品视频网址| 亚洲精品国产视频| 国产三级视频网站| 中文字幕一区日韩精品欧美| 97精品人妻一区二区三区蜜桃| 久久综合999| 91美女在线视频| 26uuu色噜噜精品一区| av在线播放一区二区三区| 91精品国产综合久久久久久久久久| 国内久久精品视频| 欧美婷婷六月丁香综合色| 久久精品免费观看| 色一情一伦一子一伦一区| 日本成人超碰在线观看| 丰满少妇被猛烈进入一区二区| 五月天欧美精品| av激情在线观看| 男人的天堂亚洲一区| 麻豆精品一区二区三区视频| 日韩电影免费一区| 色婷婷综合激情| 久草这里只有精品视频| 欧美午夜免费电影| 国产精品99久| 日韩一级完整毛片| 成人精品亚洲人成在线| 日韩精品一区二区三区在线| 99精品偷自拍| 国产婷婷色一区二区三区| 美女露出粉嫩尿囗让男人桶| 国产精品视频在线看| 给我看免费高清在线观看| 亚洲人成网站精品片在线观看| 最新中文字幕av| 天天色 色综合| 91久久精品网| 国产黄色精品网站| 欧美大度的电影原声| 国产乱淫av麻豆国产免费| 中文字幕欧美日韩一区| 国产精品九九九九九| 亚洲制服丝袜一区| 高h视频免费观看| 国内精品第一页| 日韩欧美国产电影| 性高潮免费视频| 亚洲女人****多毛耸耸8| 性色国产成人久久久精品| 免费的国产精品| 欧美二区三区的天堂| 不卡欧美aaaaa| 欧美激情综合在线| 亚洲无人区码一码二码三码的含义| 亚洲成a人v欧美综合天堂下载| 在线精品视频一区二区三四| 豆国产96在线|亚洲| 久久久亚洲高清| 精品成人av一区二区三区| 午夜精品久久久久久久久| 欧美视频中文字幕| 99国内精品久久| 综合网在线视频| 波多野结衣在线网址| 国产成人在线视频播放| 久久久久久久av麻豆果冻| 成人免费无遮挡无码黄漫视频| 日韩高清在线一区| 在线播放/欧美激情| 久草免费资源站| 亚洲自拍偷拍麻豆| 欧美日韩国产一级二级| 制服下的诱惑暮生| 亚洲欧美成人一区二区三区| 日本精品裸体写真集在线观看| 成人动漫一区二区| 综合久久国产九一剧情麻豆| 中文字幕在线观看成人| av一本久道久久综合久久鬼色| 亚洲欧洲日韩在线| 色一情一伦一子一伦一区| 99re亚洲国产精品| 一区二区成人在线观看| 欧美日韩高清一区二区三区| 欧洲成人午夜精品无码区久久| 亚洲国产精品一区二区久久 | 精品一区二区视频在线观看| 婷婷久久综合九色国产成人 | 蜜桃视频免费观看一区| 欧美成人福利视频| 亚洲女优在线观看| 国产精品一级在线| 亚洲欧洲无码一区二区三区| 在线观看区一区二| 一边摸一边做爽的视频17国产 | 成人激情av网| 亚洲免费观看高清在线观看| 欧美日韩亚洲综合| 国产网站无遮挡| 韩国女主播一区二区三区| 国产日产亚洲精品系列| 久久中文免费视频| 日韩精品国产一区| 青青草成人在线观看| 久久久高清一区二区三区| av成人免费网站| 中文写幕一区二区三区免费观成熟| 亚洲国产精品一区二区www在线| 日韩精品一区二区三区四区视频| www.色多多| 国产盗摄女厕一区二区三区| 亚洲青青青在线视频| 欧美精品久久一区| 日本少妇xxxxx| 99久久久久免费精品国产 | 国产盗摄一区二区三区| 亚洲免费观看在线视频| 欧美一区二区在线播放| 国产欧美一区二区三区在线观看视频| 国产成人免费网站| 亚洲一卡二卡三卡四卡| 精品不卡在线视频| 色婷婷久久久亚洲一区二区三区| www.四虎在线| 国产精品18久久久久| 一区二区三区在线免费| 精品少妇一区二区| 九九热最新地址| 亚洲精品在线视频免费观看| 国产精品系列在线观看| 亚洲一二三四在线| 欧美高清一级片在线观看| 欧美日韩国产首页| 久久嫩草捆绑紧缚| 男男一级淫片免费播放| 国产精品77777竹菊影视小说| 亚洲一区二区三区自拍| 久久精品夜夜夜夜久久| 欧美日韩国产综合一区二区三区| 色综合99久久久无码国产精品| 91在线国内视频| 久久99精品久久久久久久久久久久| 亚洲人成在线播放网站岛国| 精品国产乱码久久久久久夜甘婷婷| 91久久线看在观草草青青| 性高潮久久久久久久| 亚洲丝袜在线观看| 国产精品 日产精品 欧美精品| 午夜精品爽啪视频| 亚洲视频香蕉人妖| 久久综合色婷婷|