MindSpore获取边训练边验证的Loss

本文介绍了如何在MindSpore框架下,利用回调函数和自定义评价指标,实现在每个epoch结束后获取训练集和验证集的损失Loss。详细探讨了Model.train(), Model.eval()和Model.fit()的使用,以及在不同模式下回调函数的执行情况,提出两种实现目标的方法:一种是通过Model.train()结合自定义回调函数计算验证集Loss,另一种是使用Model.fit()直接获取Loss。" 128616491,15460291,C++派生类析构函数调用顺序解析,"['C++', '开发语言']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标

使用MindSpore深度框架,实现这一功能:在每个epoch结束之后,截取模型参数,获取此时训练集和验证集的损失Loss,以画出训练集和验证集下的Loss随epoch变化的曲线。

基础Api

1. 回调函数(回调类),可以实现在训练的过程中记录,验证,保存关键信息的功能。

例如,记录训练集的损失的回调函数:loss_callback = LossMonitor(step_number), 参数step_number表示每训练这么多个steps就会进行一次回调验证。

回调类中常见的函数有:on_train_step_begin, on_train_epoch_end, on_eval_step_end, on_eval_epoch_begin, on_train_begin, epoch_end...根据字面意思分别指代训练模式的每个step开始前执行的函数,训练模式下每个epoch结束后执行的函数...没有带'on_train', 'on_eval'表示任何模式下都会执行的函数

2. Model.train(train_epochs_number, train_dataset, callbacks):开始模型训练的命令行,其中上面的回调函数放置于对应参数位置

Model.eval(valid_dataset, callbacks): 

Model.fit(train_epochs_number, train_dataset, valid_dataset, valid_frequency, callbacks):其中,valid_frequency表示每个多少个epoch采用验证集验证一次,或者epoch列表,在对应列表的位置进行验证

3. 回调函数callback类,评价函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值