深度学习模型训练&验证&测试流程 |
您所在的位置:网站首页 › 测试流程怎么说 › 深度学习模型训练&验证&测试流程 |
对于模型的训练、验证和测试流程,可操作空间较大。按照不同的测试方式,存在几种不同的版本,将其记录。 模式一:训练&验证结束 + 测试将模型的训练与测试分离开来,训练&验证阶段保存模型参数,测试阶段加载模型参数完成测试。伪代码如下: 参考代码:livebot/codes/transformer.py at master · lancopku/livebot (github.com) for i in epoch train() if batch_num satisfies XX: result = validate() if result satidfies threshold: save checkpoint() # 加载模型参数进行测试测试 test()这种模式应用比较广泛,实际编写程序时推荐此种方法完成模型的测试。 模式二:训练期间验证结果驱动的测试将测试过程蕴含于训练阶段中,这种方式耦合性比较高,不过省去了测试阶段模型加载的步骤。伪代码如下: 参考代码:不详(忘记出处了……) for i in epoch: train() result = validate() if result satidfies threshold: save checkpoint() test()注意⚠️:上述代码中的 result 可以是当前模型在验证集上的损失计算结果,也可以是当前模型在验证集上的评价指标计算结果。 两种模式的主要区别在于测试阶段是否内嵌于训练&验证阶段,考虑到复现成本,推荐第一种模式完成模型的训练与测试。 PS:训练集 loss 下降而测试集 loss 一直上升,说明模型过拟合,可通过增加 dropout 或降低模型规模来解决。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |