使用TPU,我尝试将experimental_steps_per_execution传递给model.compile(...),我确实看到了很大的加速,但对于确切的学习率时间表,我注意到当训练完成时,准确率下降了2-3%。总而言之,我唯一改变的就是这个参数。
我还没有找到任何关于这个参数的详细文档。虽然它似乎加快了训练,但我不清楚“算法”的区别,特别是。关于如何计算梯度和如何进行梯度下降步骤。
有人知道更多关于这方面的信息吗?我是否需要调整其他设置,例如我的学习率或batch_size?
发布于 2020-12-22 04:03:52
experimental_steps_per_execution控制在运行回调之前在设备上处理多少批处理。如果您的学习率调度程序是基于回调的,那么学习率可能没有更新。您可以尝试将experimental_steps_per_execution设置为学习速率调度器中使用的公共倍数吗?
例如,如果学习率每100步更新一次,则设置experimental_steps_per_execution=100。
https://stackoverflow.com/questions/64648513
复制相似问题