目錄
- 引言
- 設定
引言
在進行深度學習實驗的時候,可能經常會發現,雖然輸入的資料都是一樣的,但是輸出的結果總是會有不同的波動,這主要是由于在神經網路中,很多網路層引數的初始化會涉及到隨機,這個就會導致最終的結果會有一些差距,因此如果我們想要固定某一個結果,并復現這個結果,我們就需要提前設定固定的隨機種子
設定
一般來說,我們可以通過對每一層的網路層設定固定的隨機種子,保持結果可復現,但是顯然這是比較麻煩的一件事,所以我們可以通過 tf.random.set_seed() 來全域固定CPU上的隨機性,但是當我們使用GPU訓練時,則無法起作用,需要通過 tensorflow-determinism庫來實作在GPU上固定隨機性
# pip install tensorflow-determinism
# tensorflow-determinism = 0.3.0
# tensorflow = 2.9.1
import random
import numpy as np
import tensorflow as tf
random_seed = 42
random.seed(random_seed ) # set random seed for python
np.random.seed(random_seed ) # set random seed for numpy
tf.random.set_seed(random_seed ) # set random seed for tensorflow-cpu
os.environ['TF_DETERMINISTIC_OPS'] = '1' # set random seed for tensorflow-gpu
本文來自博客園,作者:LoveFishO,轉載請注明原文鏈接:https://www.cnblogs.com/lovefisho/p/16865087.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/528790.html
標籤:其他
上一篇:SkyEye助力火箭“一”飛沖天
