TF 2.3在model.compile中使用experimental_steps_per_execution,导致模型性能下降

时间:2020-11-02 15:32:40

标签: keras tensorflow2.0 tpu

使用TPU,我尝试将experimental_steps_per_execution传递给model.compile(...),但确实看到了很大的提速,但是对于精确的学习进度表,我注意到训练时精度下降了2-3%。完成。总之,我唯一更改的就是该参数。

我尚未找到有关此参数的任何详细文档。尽管似乎可以加快训练速度,但我不清楚“算法”的区别,尤其是。有关如何计算梯度和完成梯度下降步骤的问题。

有人对此有更多了解吗?我是否需要调整其他因素,例如学习速度或batch_size?

1 个答案:

答案 0 :(得分:1)

experimental_steps_per_execution 控制在运行回调之前在设备上处理的批次数量。如果您的学习率调度程序基于回调,则学习率可能没有更新。您可以尝试将 experimental_steps_per_execution 设置为学习率调度程序中使用的公倍数吗?

例如,如果学习率每 100 步更新一次,则设置 experimental_steps_per_execution=100