问题描述:
使用bseloss,可以训练但是eval会报错,
(1)如果meterics={'accuracy':}
报错为:ValueError: Classification case, dims of y_pred equal dims of y add 1, but got y_pred: 2 dims and y: 2 dims
(2)如果metrics = { 'accuracy': nn.Accuracy(),'loss': nn.Loss(),'precision': nn.Precision(),'recall': nn.Recall(),'f1_score': nn.F1() }
报错为:ValueError: The dimension of loss must be 1, but got 2
模型输出的shape和标签的shape都是(1,1),我看了官网编程教程-模型运行-model接口应用中的例子,输出的shape和标签的shape也都是(1,1),但那是一个回归问题,我还是不太清楚对于为这种分类问题这该如何解决?需要如何修改?
解答:
Accuracy评估指标适用于label是one_hot的场景,典型的使用场景是分类场景。
如果找不到适用的评估指标,可以自定义metric,定义符合当前网络的评估指标。参考编程指南: