调参|炼丹|感悟
Posted MarToony|名角
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调参|炼丹|感悟相关的知识,希望对你有一定的参考价值。
- 对于某些不参与图计算的模块,即没出现在forward函数中的子模块。初始化某些模块不使用与不初始化这些模块,两次的实验结果会有差异。——意味着初始化的参数是不一样的,即使看似那些模块对被使用的模块没有影响。
具体而言,
上面的代码和下文的代码的实验结果不一样,即使是在设定了随机数种子的情况之下。不信大家可以试试看。class Model(nn.Module): def __init__(self): super(Model, self).__init__() self.l1 = TCN_GCN_unit(3, 32, A, residual=False) self.l2 = TCN_GCN_unit(64, 64, A) # self.l7 = TCN_GCN_unit(128, 128, A) def forward(self, x): x = self.l1(x) x = self.l2(x) # x = self.l7(x) return self.fc(x)
class Model(nn.Module): def __init__(self): super(Model, self).__init__() self.l1 = TCN_GCN_unit(3, 32, A, residual=False) self.l2 = TCN_GCN_unit(64, 64, A) # 删除l7子模块。 def forward(self, x): x = self.l1(x) x = self.l2(x) # x = self.l7(x) return self.fc(x)
- 面向单个模型的调参过程。
- 配置文件应该面向实验,而不是以模型为主。
- 训练使用main;测试使用自动化脚本main_params;之后ensemble_params单独或集体进行fuse。
以上是关于调参|炼丹|感悟的主要内容,如果未能解决你的问题,请参考以下文章
恒源云 (Gpushare)_炼丹必备调参心法(说人话系列)