You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用COCOInstance从训练数据集读取(image,label,segm)元组

拆分CocoDetection数据集的image、label与segmentation

torchvision.datasets.CocoDetection返回的样本结构是**(image, target)**二元组,其中target是一个包含多个目标标注的字典列表,每个字典里存储了该目标的category_id(对应label)、segmentation(对应segm)等标注信息,你需要从target里提取对应字段:

单目标样本的提取方式

如果当前样本仅包含一个目标标注,直接取列表第一个元素的对应字段:

train_image, target = train_dataset[6]
# 提取目标标签
train_label = target[0]['category_id']
# 提取目标分割掩码
train_segm = target[0]['segmentation']

多目标样本的提取方式

如果样本里有多个目标,可通过列表推导式批量提取所有标签和分割信息:

train_image, target = train_dataset[6]
# 获取所有目标的标签列表
train_labels = [anno['category_id'] for anno in target]
# 获取所有目标的分割掩码列表
train_segms = [anno['segmentation'] for anno in target]

确认标注字段结构

如果不确定target里的具体字段,可先打印查看标注结构,避免因数据集标注差异出错:

train_image, target = train_dataset[6]
print(target)

内容的提问来源于stack exchange,提问作者zeynep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 22:15:36