机器学习PAI 我epoch设置了k,然后训练的时候 还能到epoch>k的情况?每个 save_summary_steps 这个日志好像把这个也打成epoch了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在机器学习的训练过程中,"epoch"和"iteration"是两个不同的概念。"epoch"是指整个数据集被完整地遍历过一次,而"iteration"是指在单个epoch内模型的训练次数。
在你的问题中,你设置的"epoch"可能是指的总的训练次数,而"save_summary_steps"是在每个iteration结束时保存训练结果的频率。所以,即使你在配置文件中设置了"epoch"为k,但是在每个epoch中可能会有多于k个iteration,因此在训练过程中可能会出现"epoch"大于k的情况。
如果你想要在每个epoch结束时保存模型,你可以设置"save_checkpoints_steps"为0,这样模型就会在每个epoch结束时自动保存。同时,你也可以设置"save_summary_steps"为一个较大的值,比如1000,这样模型就会在每个iteration结束时保存一部分训练结果,但是不改变总的训练次数。
在 PAI-DSW 中,当 epoch 设置为 k 时,模型最多只会训练 k 次。这表示每个样本最多只会遍历整个训练数据集 k 次。
但是,对于一些算法,可能存在额外的训练周期,例如多卡训练。多卡训练时,每轮训练周期都称为一次 epoch。例如,在分布式训练中,当训练完成一轮后,会进行多个 epoch。
如果设置了 save_summary_steps
参数,PAI-DSW 会每隔一定步数保存模型和摘要信息。例如,如果 save_summary_steps=1000
,那么在每轮训练周期中,会每隔 1000 步保存模型和摘要信息。这有助于观察模型性能,并了解模型收敛过程。
因此,即使 epoch 设置为 k,也可能看到大于 k 的训练轮次。但是,save_summary_steps
不会影响模型训练的整体轮次,而是每隔一定步数保存摘要信息。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。