from torch.utils.data import Dataset
from PIL import Image
import os
class MyData(Dataset):
def __init__(self,root_dir,label_dir):
self.root_dir = root_dir
self.label_dir = label_dir
self.path = os.path.join(self.root_dir,self.label_dir)
self.img_path = os.listdir(self.path)
def __getitem__(self, idx):
print("========__getitem__======")
img_name = self.img_path[idx]
img_item_path = os.path.join(self.root_dir,self.label_dir,img_name)
img = Image.open(img_item_path)
print("img===",img)
label = self.label_dir
return img,label
def __len__(self):
print("========__len__======")
return len(self.img_path)
root_dir = "D:/dataset/mark-1501/Market-1501-v15.09.15"
people_label_dataset = "bounding_box_test"
people_dataset = MyData(root_dir,people_label_dataset)
print(len(people_dataset))
index =0
img ,label = people_dataset[index] # 如果在类中定义了__getitem__()方法,那么他的实例对象(假设为P)就可以这样P[key]取值。当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。
# img.show()
Dataset类学习
最新推荐文章于 2024-04-24 13:35:29 发布