机器学习PAI 我epoch设置了k,然后训练的时候 还能到epoch>k的情况?

机器学习PAI 我epoch设置了k,然后训练的时候 还能到epoch>k的情况?每个 save_summary_steps 这个日志好像把这个也打成epoch了

展开
收起
真的很搞笑 2023-10-29 20:07:41 135 分享 版权
2 条回答
写回答
取消 提交回答
  • 在机器学习的训练过程中,"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结束时保存一部分训练结果,但是不改变总的训练次数。

    2023-10-30 11:43:04
    赞同 展开评论
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在 PAI-DSW 中,当 epoch 设置为 k 时,模型最多只会训练 k 次。这表示每个样本最多只会遍历整个训练数据集 k 次。
    但是,对于一些算法,可能存在额外的训练周期,例如多卡训练。多卡训练时,每轮训练周期都称为一次 epoch。例如,在分布式训练中,当训练完成一轮后,会进行多个 epoch。
    如果设置了 save_summary_steps 参数,PAI-DSW 会每隔一定步数保存模型和摘要信息。例如,如果 save_summary_steps=1000,那么在每轮训练周期中,会每隔 1000 步保存模型和摘要信息。这有助于观察模型性能,并了解模型收敛过程。
    因此,即使 epoch 设置为 k,也可能看到大于 k 的训练轮次。但是,save_summary_steps 不会影响模型训练的整体轮次,而是每隔一定步数保存摘要信息。

    2023-10-29 22:54:32
    赞同 展开评论

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

还有其他疑问?
咨询AI助理