解决GPU模型训练的随机性
問題:重復(fù)使用GPU訓(xùn)練模型(所有條件完全一致),模型結(jié)果不一致?
原則:1、訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)切割是一致的;2、?保證加載的訓(xùn)練數(shù)據(jù)是確定的;3、確定random seed ,np.random.seed,graph-level seed ,operation-level seed
方案一:
?
實(shí)驗(yàn)表明:該方法無法做到模型效果復(fù)現(xiàn)
?
方案二:
SEED =? 1234
random.seed(SEED)
np.random.seed(SEED)
tf.set_random_seed(SEED)
operation-level設(shè)置:
所有的tf.get_variable中的初始化加入tf.random_normal_initializer(seed=SEED)
其他的初始化方法有:
tf.constant_initializer:常量初始化函數(shù)
tf.random_normal_initializer:正態(tài)分布
tf.truncated_normal_initializer:截取的正態(tài)分布
tf.random_uniform_initializer:均勻分布
tf.zeros_initializer:全部是0
tf.ones_initializer:全是1
tf.uniform_unit_scaling_initializer:滿足均勻分布,但不影響輸出數(shù)量級的隨機(jī)值
?
dropout函數(shù)中加入?yún)?shù)seed=SEED
GRUCELL中加入核權(quán)重kernel_initializer=tf.orthogonal_initializer
其實(shí)驗(yàn)數(shù)據(jù)表明無法消除隨機(jī)性,但結(jié)果差異變小;
?
總結(jié)
以上是生活随笔為你收集整理的解决GPU模型训练的随机性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决样本不平衡问题的奇技淫巧 汇总
- 下一篇: tensorflow随机性设置