modelscope-funasr中,[2024-04-18 03:27:43,313][root][INFO] - Update best acc: 1.0000, outputs/model.pt.best
[2024-04-18 03:27:43,319][root][INFO] - Delete: ./outputs/model.pt.ep0
[2024-04-18 03:27:43,438][root][INFO] - rank: 0, time_escaped_epoch: 0.030 hours, estimated to finish 20 epoch: 0.000 hours
average_checkpoints: ['./outputs/model.pt.ep0', './outputs/model.pt.ep1', './outputs/model.pt.ep2', './outputs/model.pt.ep3', './outputs/model.pt.ep4', './outputs/model.pt.ep5', './outputs/model.pt.ep6', './outputs/model.pt.ep7', './outputs/model.pt.ep8', './outputs/model.pt.ep9']
Checkpoint file ./outputs/model.pt.ep0 not found. 上面这段日志是怎么回事,为什么又要删掉model.pt.ep0,然后马上又要用到它?
根据您提供的日志信息,这段日志描述了在 modelscope-funasr
的训练过程中,模型检查点(checkpoint)的管理行为。以下是详细分析和解释:
[2024-04-18 03:27:43,313][root][INFO] - Update best acc: 1.0000, outputs/model.pt.best
[2024-04-18 03:27:43,319][root][INFO] - Delete: ./outputs/model.pt.ep0
[2024-04-18 03:27:43,438][root][INFO] - rank: 0, time_escaped_epoch: 0.030 hours, estimated to finish 20 epoch: 0.000 hours
average_checkpoints: ['./outputs/model.pt.ep0', './outputs/model.pt.ep1', './outputs/model.pt.ep2', ...]
Checkpoint file ./outputs/model.pt.ep0 not found.
best acc
)达到了 1.0000
,并保存为 outputs/model.pt.best
。./outputs/model.pt.ep0
文件。model.pt.ep0
, model.pt.ep1
, 等)进行平均操作。Checkpoint file ./outputs/model.pt.ep0 not found
。从日志中可以看出,问题的核心在于 检查点文件的删除与使用之间的冲突。以下是可能的原因:
Delete: ./outputs/model.pt.ep0
表明系统在某个时刻删除了 model.pt.ep0
文件。这可能是由于配置了自动清理策略,导致旧的检查点被移除。model.pt.ep0
)已被删除,则会导致文件未找到的错误。model.pt.ep0
被删除后,系统立即尝试对其进行平均操作。这种时间顺序上的冲突表明,检查点清理逻辑与平均操作逻辑之间缺乏协调。为了避免类似问题的发生,您可以采取以下措施:
modelscope-funasr
提供的默认脚本,可以在配置文件中调整相关参数。例如:
# 示例:保留更多检查点文件
checkpoint_config = dict(max_keep_ckpts=10) # 保留最近的10个检查点
# 示例:延迟删除检查点
if current_epoch > max_epochs:
delete_old_checkpoints()
model.pt.best
和用于平均的检查点),以防止意外删除。例如:
cp ./outputs/model.pt.ep0 ./backup/model.pt.ep0
上述日志问题的根本原因是 检查点文件的删除与使用之间的冲突。通过调整检查点清理策略、延迟删除操作或手动备份关键文件,可以有效避免此类问题的发生。
如果您需要进一步的帮助,请提供更多上下文信息(如训练脚本或配置文件),以便更精确地定位问题。