机器学习中模型A和模型B串联,注意随机种子的问题

首页 / 科研生活 / 正文
论文思路想好很久了,代码基本能实现。

 有一个点一直卡着我 ,我的 基本想法 是串联模型A和模型B,代码也基本实现了,但是有个问题一直得不到解决。

模型B加入后模型A的性能下降,即使模型A没有更新模型B的任何输入

论文代码实现进度

 进度就卡在这里,怎么也进行不下去了,和人讨论,上知乎提问提问没成功,老是叫我修改,原因是问题不明确,这就是别的平台讨厌之处,自己小站想写啥就写啥、小木虫提问,都没得到解决。

 最后无意中验证了一个想法

随机种子没固定
一开始模型A的随机种子都固定了,我们想当然的认为模型B插入后,模型A的随机种子也固定,结果不是这样。

猜测原因(未经过验证):模型A规定了随机种子,模型B插入到模型A的前面使用了随机种子后,模型A就又变得随机了

 所以我们把一下代码在两部分模型运行前都写了一遍。

SEED = 42
random.seed(SEED)
torch.manual_seed(SEED)
torch.cuda.manual_seed(SEED)

 最后问题解决

打赏
评论区
头像