深度学习NLP任务中一些功能性代码块pytoch实现记录
有一些NLP任务中需要实现一些小功能,还是不是很熟练,但是自己写起来又有点难度,故此记录下来。以后每遇到新的就添加上来——不定时更新添加! 1、由predictions和labels计算准确率、正确率、recall和F1 #准确率的计算 correct += (predict == label).sum().item() total += label.size(0) train_acc = correct / total #精确率、recall和F1的计算 for i in range(self.number_of_classes): if i == self.none_label: continue #TP和FP self._true_positives += ((predictions==i)*(gold_labels==i)*mask.bool()).sum() self._false_positives += ((predictions==i)*(gold_labels!=i)*mask.bool()).sum() #TN和FN self._true_negatives += ((predictions!=i)*(gold_labels!=i)*mask.bool()).sum() self._false_negatives += ((predictions!=i)*