• pytorch固定随机种子复现实验结果


    固定随机种子的步骤请参考:https://zhengyujie.cn/2291.html

    这里我主要讲一下模型在复现结果遇到的一些问题。
    首先在固定随机种子之后,每次模型训练出来的结果一定是一样的,如果不相同,那么说明训练过程中一定还有一部分随机性操作没有被固定
    将模型参数保存下来,然后加载模型参数进行测试,如果发现结果和训练过程中得到的结果有差异。这个时候就需要按照以下步骤进行分析:

    1. 先改变batchsize,看看实验复现的结果是否会发生变化。如果发生变化就说明batchsize会影响模型推理过程中的参数。
    2. 检查一下forward中有哪些参数跟batchsize有关,或者是不是代码写错了。比如batchsize就会影响LSTM的模型参数的初始化。
    3. 最后检查测试集划分batch的时候是否都一样。test_loader = DataLoader(test_dataset, batch_size=batchsize, shuffle=True, num_workers=4, pin_memory=True)比如这样一行代码,测试集每次都被打乱了,虽然固定了随机种子,但是这样只能保证第k轮的随机种子是一样的,而第1轮和第10轮的随机种子是不一样的。这样的话,比如模型在第13个epoch收敛,得到的结果在是第13轮的测试集进行测试的,而模型在加载的时候是在第一轮的测试进行测试的,结果自然有差异。
  • 相关阅读:
    css3 box-shadow
    JS的Document属性和方法
    简单配色方案web
    ps中参考线的使用技巧
    min-width() ie6
    js 模拟右键菜单
    display:table-cell
    js opener 的使用
    js的 new image()
    CSS 中文字体 Unicode 编码方案
  • 原文地址:https://www.cnblogs.com/mlgjb/p/13776103.html
Copyright © 2020-2023  润新知