婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > pytorch通過訓練結果的復現設置隨機種子

pytorch通過訓練結果的復現設置隨機種子

熱門標簽:朝陽手機外呼系統 小蘇云呼電話機器人 北京電銷外呼系統加盟 北瀚ai電銷機器人官網手機版 儋州電話機器人 市場上的電銷機器人 佛山400電話辦理 地圖標注面積 所得系統電梯怎樣主板設置外呼

通過設置全局隨機種子使得每次的訓練結果相同可以復現

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

這里我主要講一下模型在復現結果遇到的一些問題。

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

將模型參數保存下來,然后加載模型參數進行測試,如果發現結果和訓練過程中得到的結果有差異。

這個時候就需要按照以下步驟進行分析:

1、先改變batchsize,看看實驗復現的結果是否會發生變化。如果發生變化就說明batchsize會影響模型推理過程中的參數。

2、檢查一下forward中有哪些參數跟batchsize有關,或者是不是代碼寫錯了。比如batchsize就會影響LSTM的模型參數的初始化。

3、最后檢查測試集劃分batch的時候是否都一樣。

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

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

這樣的話,比如模型在第13個epoch收斂,得到的結果在是第13輪的測試集進行測試的,而模型在加載的時候是在第一輪的測試進行測試的,結果自然有差異。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

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

標簽:龍巖 云南 金融催收 商丘 寧夏 定西 江蘇 酒泉

巨人網絡通訊聲明:本文標題《pytorch通過訓練結果的復現設置隨機種子》,本文關鍵詞  pytorch,通過,訓練,結果,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch通過訓練結果的復現設置隨機種子》相關的同類信息!
  • 本頁收集關于pytorch通過訓練結果的復現設置隨機種子的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 贵德县| 吉安市| 高密市| 吉水县| 山阳县| 秀山| 宽甸| 栾川县| 连南| 唐山市| 沁水县| 达孜县| 崇明县| 子长县| 东台市| 华亭县| 西藏| 建湖县| 闽清县| 鄂州市| 牡丹江市| 鱼台县| 华阴市| 孝感市| 平遥县| 广河县| 监利县| 运城市| 拉萨市| 肥城市| 庐江县| 岳阳市| 兴仁县| 鹿泉市| 伊川县| 西乌珠穆沁旗| 泗洪县| 木里| 玉门市| 诸暨市| 顺义区|