pytorch针对一些数据集有专门的datasets类,以datasets.VOCDetection为例。看如何加载,显示。
import torchvision.datasets as datasets
import torchvision
import torch
import numpy as np
import cv2
提前要下载VOC数据,我是放在’G:/jupyter/demo_voc’,它的下面几级文件不动
voc_trainset = datasets.VOCDetection('G:/jupyter/demo_voc',year='2007', image_set='train', download=False)
print('-'*40)
print('VOC2007-trainval')
print(len(voc_trainset))
VOC2007-trainval
2501
type(voc_trainset)
torchvision.datasets.voc.VOCDetection
o1=next(iter(voc_trainset))
o1
(<PIL.Image.Image image mode=RGB size=500x333 at 0x176FAAFC630>,
{‘annotation’: {‘folder’: ‘VOC2007’,
‘filename’: ‘000012.jpg’,
‘source’: {‘database’: ‘The VOC2007 Database’,
‘annotation’: ‘PASCAL VOC2007’,
‘image’: ‘flickr’,
‘flickrid’: ‘207539885’},
‘owner’: {‘flickrid’: ‘KevBow’, ‘name’: ‘?’},
‘size’: {‘width’: ‘500’, ‘height’: ‘333’, ‘depth’: ‘3’},
‘segmented’: ‘0’,
‘object’: {‘name’: ‘car’,
‘pose’: ‘Rear’,
‘truncated’: ‘0’,
‘difficult’: ‘0’,
‘bndbox’: {‘xmin’: ‘156’, ‘ymin’: ‘97’, ‘xmax’: ‘35