目标
使用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类,评价函数