如何报告培训和验证度量

nkhmeac6  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(237)

**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

6小时前关门了。
改进这个问题
我试图从头开始编写keras训练循环。然而,当在每个历元结束时报告训练和验证损失时,验证损失通常要高得多(因此两个图不能在同一坐标上拟合)。
以下是我正在做的:
我正在报告每个时代最后一批的训练损失。所以,我认为这可能是为什么训练损失更低的原因。
我正在报告所有批次验证数据的验证损失。由于一批训练数据的样本数少于整个验证数据,我认为这是验证损失更高的第二个原因。
我使用的代码是

history = {
    'loss': [],
    'val_loss': []
}
for epoch in range(epochs):
    for train_batch in train_gen:
        loss = train_step(train_batch)
    # run validation step
    val_loss = test_step(val_data)
    history['loss'].append(loss)
    history['val_loss'].append(val_loss)

那么,正确的报失方式是什么呢?我应该取整个培训批次中培训损失的平均值吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题