如何将 PyTorch 数据加载器转换为 sv. 检测对象

作者: shanalikhan创建于 2024年11月24日更新于 2026年8月6日
标签question

问前搜索

  • 我搜索了监督问题,没有发现类似的功能请求。

问题

我拥有Dataloader对象,并且能够用"从 transformer"将预测的模型输出转换为检测对象. 由于我想生成MAP和混淆矩阵,我需要将实际对象也转换为检测对象.

怎么样?

[Python] 用于 idx, 拼接( tqdm( TEST DATALOADER) ) :

像素 值=批["像素 值"].to(DEVICE) 像素 mask = 批量 ["像素 mask"].to(DEVICE) #印 (批 ["标签"]) 标签 = [{k: v.to (DEVICE) for k, v in t. items ()} 对于 t 在批量 ["标签"] ]

打印( 标签)

使用火炬.no grad(): 输出=模型(像素 值=像素 值,像素 mask=pixel mask) #输出=模型(**批)

orig target sizes = 火炬.stack(用于标签中的目标["orig size"],dim=0)

打印(输出)

结果=图像 处理器. post process object 检测(输出,目标 大小=orig object sizes,阈值=0.5) 打印 ("LABELS") 打印( 标签 [0]. keys ())

打印(标签[0]['类 标签']) 打印(“RESULTS”) 打印( 结果 [0]. keys ()) 打印(结果[0]['标签']) 成果: 检测=sv. 检测. from transfers(结果)#. with nms(阈值=IOU TRESHOLD) #sv. 检测。 附录(说明) 预测. 附录(检测) 换行


增加额

无回复( N)

内容来源: roboflow/supervision