欢迎您对PaddleHub提出建议,非常感谢您对PaddleHub的贡献!
在留下您的建议时,辛苦您同步提供如下信息:
* 您想要增加什么新特性?
* 什么样的场景下需要该特性?
* 没有该特性的条件下,PaddleHub目前是否能间接满足该需求?
* 增加该特性,PaddleHub可能需要变化的部分。
* 如果可以的话,简要描述下您的解决方案
在使用模型库中的bert-wwm进行多文本分类项目时发现,输出的评估指标为acc,但是我需要用macro-f1来作为我的评估指标,请问paddlehub考虑增加多分类F1 Score等评估指标吗,或者如果我需要自己写自定义评估方法的话,需要到哪个文件中进行修改,是在模型中或是其他的什么地方。
2条答案
按热度按时间idfiyjo81#
你好,目前bert-wwm模型的文本分类任务的评估指标是acc,如果需要修改的话,需要自行修改module里的评价指标。
PaddleHub/modules/text/language_model/chinese_bert_wwm/module.py
第114行到第122行如下:
| | ifself.task=='seq-cls': |
| | logits=result |
| | probs=F.softmax(logits, axis=1) |
| | iflabelsisnotNone: |
| | loss=self.criterion(logits, labels) |
| | correct=self.metric.compute(probs, labels) |
| | acc=self.metric.update(correct) |
| | returnprobs, loss, {'acc': acc} |
| | returnprobs |
上面116行的
probs
可以获取样本的软标签,119-120行可以自行更改为想要的指标,计算后在121以dict
形式返回。34gzjxbg2#
@KPatr1ck 可是仅仅是
Acc
的指标对于真实场景下的应用往往不太够,我建议给出对应的 混淆矩阵 ,这样acc
/precision
/recall
/f1score
都可以计算出来。如果你们觉得需要的话,我可以来update这个feature。