voc2007数据集如下
其中JPEGImages存放着9963张图片,ImageSets里面的main文件夹包含用于分类的集合。比如我们要去分类鸟,bird的txt有bird_train,bird_val,还有bird_trainval,bird_test。
打开其中bird_train看看
每行包含一个图片的名称和标签。这是个二分类问题。-1代表不是鸟,1是正类,正类有几十上百个左右,而整个train样本是5千左右。
问题来了,如何把这些txt转化为pytorch需要的dataset
如下所示。
from torchvision import transforms, utils
from torch.utils.data import Dataset, DataLoader
import matplotlib.pyplot as plt
from PIL import Image
import os
root= 'G:/jupyter/demo_voc/VOCdevkit/VOC2007'
transform = transforms.Compose([
transforms.Resize((224,224)),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([0.485,0.456,