首页 Paddle框架 帖子详情
模型多次运行结果不一致怎么办?
收藏
快速回复
Paddle框架 问答学习资料 2979 10
模型多次运行结果不一致怎么办?
收藏
快速回复
Paddle框架 问答学习资料 2979 10

模型多次运行结果不一致怎么办?

  1. random.seed(seed) # 设置随机函数种子
  2. os.environ['PYTHONHASHSEED'] = str(seed) # 设置python环境种子
  3. np.random.seed(seed) #设置np库种子
  4. paddle.seed(seed) #设置paddlepaddle随机种子

可以设置随机种子!!!

import numpy as np
import os
import paddle
def seed_paddle(seed=1024):
    seed = int(seed)
   
    random.seed(seed) # 设置随机函数种子

    os.environ['PYTHONHASHSEED'] = str(seed) # 设置python环境种子
    np.random.seed(seed) #设置np库种子
    paddle.seed(seed) #设置paddlepaddle随机种子

seed_paddle(seed=1024)
0
收藏
回复
全部评论(10)
时间顺序
FutureSI
#2 回复于2021-12

嗯,主要是卷积核,归一化层初始化导致的

0
回复
流年以逝的殇
#3 回复于2021-12

这样设置了之后,每次运行还不一样肿么办

0
回复
JavaRoom
#4 回复于2021-12
这样设置了之后,每次运行还不一样肿么办

母鸡啊,得看具体情况

0
回复
DeepGeGe
#5 回复于2021-12
这样设置了之后,每次运行还不一样肿么办

有可能是前向计算时候没有设置成eval模式,因此BN,Dropout等影响结果。

0
回复
流年以逝的殇
#6 回复于2021-12

感谢各位回复,已经设置了随机种子和eval等,就很苦恼每次训练完,在测试集结果都不一样,这样比较不了调参的或者换模型的效果,是要多跑几次求平均值吗,时间好长!!

0
回复
流年以逝的殇
#7 回复于2021-12
感谢各位回复,已经设置了随机种子和eval等,就很苦恼每次训练完,在测试集结果都不一样,这样比较不了调参的或者换模型的效果,是要多跑几次求平均值吗,时间好长!!

用的是预训练模型ernie-tiny

0
回复
JavaRoom
#8 回复于2021-12
感谢各位回复,已经设置了随机种子和eval等,就很苦恼每次训练完,在测试集结果都不一样,这样比较不了调参的或者换模型的效果,是要多跑几次求平均值吗,时间好长!!

那就从最简开始,一点一点排除

0
回复
JavaRoom
#9 回复于2021-12

有时候数据读入顺序也是随机的。

0
回复
JavaRoom
#10 回复于2021-12

可以试试啊

0
回复
Ainavo
#11 回复于2022-12
用的是预训练模型ernie-tiny

你好,请问解决了吗?

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户