在train.py line 246中,我们有
train.py
# update the learning rate optim.updateLearningRate(valid_loss, epoch)
但是,在onmt/Optim.py中,在line 37的函数updateLearningRate()中,我们有:
onmt/Optim.py
updateLearningRate()
def updateLearningRate(self, ppl, epoch): ... self.last_ppl = ppl
为什么在updateLearningRate()中使用valid_loss来代替ppl?
valid_loss
ppl
valid_loss和ppl不是不同的度量标准吗?
有人能帮我一下吗,谢谢!
发布于 2017-04-05 22:06:36
@bmccann提供了一个答案here,我发现它很有帮助。
也应该可以工作,因为ppl只是一个指数损失:https://github.com/OpenNMT/OpenNMT-py/blob/6b4cb9d60eb662a736b09c69457375939cff5dc6/train.py#L241.
https://stackoverflow.com/questions/43151642
相似问题