mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
81 words
1 minute
评价指标封装
2025-11-09

有时候为了计算多个评价指标,但又不想改太多的结构时,可以将这些指标封装在一个函数中,并返回一个包含所有评价指标的集合。以下代码包含精确度(Accuracy)、IOU和F1分数的计算:

import torch
def calculate_evaluation_metrics(mask_true, mask_pred):
intersection = torch.logical_and(mask_true, mask_pred).float().sum()
union = torch.logical_or(mask_true, mask_pred).float().sum()
iou = intersection / union
true_positive = torch.logical_and(mask_true, mask_pred).float().sum()
false_positive = torch.logical_and(~mask_true, mask_pred).float().sum()
false_negative = torch.logical_and(mask_true, ~mask_pred).float().sum()
precision = true_positive / (true_positive + false_positive)
recall = true_positive / (true_positive + false_negative)
f1_score = 2 * (precision * recall) / (precision + recall)
accuracy = (true_positive + torch.logical_and(~mask_true, ~mask_pred).float().sum()) / mask_true.numel()
metrics = {
'accuracy': accuracy.item(),
'iou': iou.item(),
'precision': precision.item(),
'recall': recall.item(),
'f1_score': f1_score.item()
}
return metrics
Share

If this article helped you, please share it with others!

评价指标封装
https://blog.vanilla.net.cn/posts/笔记/评价指标封装/
Author
星夜
Published at
2025-11-09
License
CC BY-NC-SA 4.0

Some information may be outdated

Table of Contents