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

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

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 在机器学习的训练过程中,”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结束时保存一部分训练结果,但是不改变总的训练次数。

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