pytorch 保證實驗的可重複性

2021-10-11 09:54:14 字數 428 閱讀 7621

如何讓每次實驗執行後得到的結果都一致?

可以通過將以下設定放在 import 後,正式**前:

np.random.seed(0)

random.seed(0)

torch.manual_seed(0)

torch.cuda.manual_seed(0)

torch.backends.cudnn.deterministic =

true

torch.backends.cudnn.benchmark =

false

# 這個開了可以加速,不推薦關閉

當然,別忘了訓練好的模型**時這樣操作一下:

model.

eval()

# 相對的是 model.train()

Pytorch 保證實驗結果可重複性質

由於在模型訓練的過程中存在大量的隨機操作,使得對於同乙份 重複執行後得到的結果不一致。因此,為了得到可重複的實驗結果,我們需要對隨機數生成器設定乙個固定的種子。許多部落格都有介紹如何解決這個問題,但是很多都不夠全面,往往不能保證結果精確一致。我經過許多調研和實驗,總結了以下方法,記錄下來。全部設定可...

pytorch如何能夠保證模型的可重複性

問題背景是這樣的 我用了自己定義了pytorch中的模型,並且,在main函式中設定了隨機種子用來保證模型初始化的引數是一致的,同時pytorch中的隨機種子也能夠影響dropout的作用,見鏈結 為了保證所有的引數都一樣,我在設定dataloader的時候,資料並沒有進行shuffle,這樣能夠在...

資料庫 Innodb如何保證可重複讀

明確一些概念 db trx id 記錄當前資料行最後一次的更新和插入的事務id db roll ptr 指向當前記錄項的undo log資訊 db row id 標識插入的新資料行 如何保證可重複讀 事務活躍陣列array 1.事務開啟後,有乙個陣列array用來維護當前活躍的事務id 開啟未提交 ...