class ConfusionMatrix(object):def __init__(self, class_num: int):self.matrix = numpy.zeros((class_num, class_num))self.class_num = class_numself.pred=[]self.true=[]def update(self, pred, label):# p代表Predicted label、t代表True labelfor p, t in zip(pred, label):self.matrix[p, t] += 1self.pred.append(p)self.true.append(t)def acc(self):acc = 0for i in range(self.class_num):acc += self.matrix[i, i]acc = acc / numpy.sum(self.matrix)return accdef report(self):report=classification_report(self.true,self.pred,digits=4)return report