查全率(precison)和查准率(recall)

定义以下标记:

tp:正确的标记为正;预测为真,实际为真 

fp:错误的标记为正;预测为假,实际为假 

tn:正确的标记为负;预测为真,实际为假 

fn:错误的标记为负;预测为假,实际为真  

查准率:precision = tp / (tp+fp) ;宁愿漏掉,不可错杀;正确预测占所有预测的比例

查全率:recall = tp / (tp+fn) ;宁可错杀,不可漏掉;正确预测占所有正例的比例

它们是评价模型的不同标准。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在PyTorch中,我们可以使用`torchvision`中的`detection`模块来计算SSD模型的精度和召回率。具体来说,我们需要使用`COCOEvaluator`类来评估模型在COCO数据集上的表现。 以下是使用`COCOEvaluator`类计算SSD模型精度和召回率的示例代码: ```python import torch import torchvision from torchvision.models.detection.ssd import SSDDetection from torchvision.models.detection import FastRCNNPredictor from torchvision.models.detection.rpn import AnchorGenerator from torchvision.models.detection.faster_rcnn import FastRCNNPredictor from torchvision.models.detection.backbone_utils import resnet_fpn_backbone from torchvision.models.detection import CocoEvaluator # Define the SSD model backbone = resnet_fpn_backbone('resnet50', pretrained=True) anchor_generator = AnchorGenerator(sizes=((32, 64, 128, 256, 512),), aspect_ratios=((0.5, 1.0, 2.0),)) roi_pooler = torchvision.ops.MultiScaleRoIAlign(featmap_names=['0', '1', '2', '3'], output_size=7, sampling_ratio=2) model = SSDDetection(backbone, num_classes=91, anchor_generator=anchor_generator, box_roi_pool=roi_pooler) # Load the trained weights model.load_state_dict(torch.load('ssd_model.pt', map_location=torch.device('cpu'))) # Define the COCO dataset dataset = torchvision.datasets.CocoDetection(root='/path/to/coco', annFile='/path/to/coco/annotations/instances_val2017.json', image_set='val', transforms=None) # Define the data loader data_loader = torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, num_workers=4, collate_fn=torchvision.datasets.coco.collate_fn) # Define the COCO evaluator coco_evaluator = CocoEvaluator(dataset.coco, iou_types=['bbox'], use_fast_impl=True) # Evaluate the model on the dataset model.eval() for images, targets in data_loader: outputs = model(images) coco_evaluator.update(targets, outputs) # Calculate the precision and recall coco_evaluator.synchronize_between_processes() coco_evaluator.accumulate() coco_evaluator.summarize() ``` 在上面的代码中,我们首先定义了SSD模型,然后加载了训练好的权重。接着,我们定义了COCO数据集和数据加载器,并使用`CocoEvaluator`类在数据集上评估模型。最后,我们使用`coco_evaluator.summarize()`函数计算模型的精度和召回率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值