如何计算深度学习代码实践中的trainsteps?
深度学习中已经有epoch参数了,为什么还要再定义steps参数?
epoch:全体训练数据过几遍
steps:模型会计算几次loss,即模型参数会更新几次梯度
当我们训练模型时,epoch变成了一个间接的关注对象,我们关系模型能更新多少次,这些才知道循环多少次,计算多少次loss。其实最主要的一点是训练步数与模型的参数会有相关关系,比如如果要采用自适应学习率,那每步都是有一个不同的学习率的。
train steps通常按以下公式进行计算:
train steps = len(data) // batch_size