当训练使命竣事,经常须要评价函数(Metrics)来评估模子的优劣。差别的训练使命通常须要差别的Metrics函数。比方,对于二分类题目,常用的评价指标有precision(精确率)、recall(召回率)等,而对于多分类使命,可利用宏匀称(Macro)和微匀称(Micro)来评估。
MindSpore提供了大部分常见使命的评价函数,如Accuracy、Precision、MAE和MSE等,由于MindSpore提供的评价函数无法满意全部使命的需求,许多环境下用户须要针对详细的使命自界说Metrics来评估训练的模子。
本章紧张先容怎样自界说Metrics以及怎样在mindspore.train.Model中利用Metrics。
自界说Metrics
自界说Metrics函数须要继承mindspore.train.Metric父类,并重新实现父类中的clear方法、update方法和eval方法。
- clear:初始化相干的内部参数。
- update:汲取网络猜测输出和标签,盘算弊端,每次step后并更新内部评估效果。
- eval:盘算终极评估效果,在每次epoch竣事后盘算终极的评估效果。
匀称绝对弊端(MAE)算法如式(1)所示:
下面以简朴的MAE算法为例,先容clear、update和eval三个函数及其利用方法。
模子训练中利用Metrics
mindspore.train.Model是用于训练和评估的高层API,可以将自界说或MindSpore已有的Metrics作为参数传入,Model可以大概主动调用传入的Metrics举行评估。
在网络模子训练后,须要利用评价指标,来评估网络模子的训练效果,因此在演示详细代码之前起首简朴制定命据集,对数据集举行加载和界说一个简朴的线性回归网络模子:
利用内置评价指标
利用MindSpore内置的Metrics作为参数传入Model时,Metrics可以界说为一个字典范例,字典的key值为字符串范例,字典的value值为MindSpore内置的评价指标,如下示例利用train.Accuracy盘算分类的精确率。
利用自界说评价指标
如下示例在Model中传入上述自界说的评估指标MAE(),将验证数据集传入model.fit()接口边训练边验证。
验证效果为一个字典范例,验证效果的key值与metrics的key值雷同,验证效果的value值为猜测值与现实值的匀称绝对弊端。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |