AP和mAP 计算:sklearn.metrics.average_precision_score()
sklearn.metrics.average_precision_score(y_true, y_score, average=‘macro’, sample_weight=None)
注意:此实现仅限于二进制分类任务或多标签分类任务。
参数:
y_true : array, shape = [n_samples] or [n_samples, n_classes]
真实标签:取0和1
y_score : array, shape = [n_samples] or [n_samples, n_classes]
预测标签:[0,1]之间的值。 可以是正类的概率估计、置信值,也可以是决策的非阈值度量(如某些分类器上的“决策函数”返回的)
average : string, [None, ‘micro’, ‘macro’ (default), ‘samples’, ‘weighted’]
sample_weight : array-like of shape = [n_samples], optional sample weights.
#------------------------------------------------------------
AP和mAP 的计算:
def compute_mAP(labels,outputs):
y_true = labels.cpu().detach().numpy()
y_pred = outputs.cpu().detach().numpy()
AP = []
for i in range(y_true.shape[0]):
AP.append(average_precision_score(y_true[i],y_pred[i]))
return np.mean(AP)
参考链接:https://www.w3cschool.cn/doc_scikit_learn/scikit_learn-modules-generated-sklearn-metrics-average_precision_score.html
参考链接:https://github.com/lyz04551/voc2007_classification_pytorch/blob/master/PascalTrain.py
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)