Dateset类读取数据

Dateset类读取数据

蚂蚁蜜蜂分类数据集和下载连接https://download.pytorch.org/tutorial/hymenoptera_data.zip

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)
    # 获取图片
    #__getitem__ 方法是 Dataset 类的核心,它定义了如何访问数据集的每个元素。每次当你通过索引访问数据集时,都会调用这个方法。
    def __getitem__(self, idx):
        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)
        label = self.label_dir
        return  img, label

    def __len__(self):
        return len(self.img_path)

root_dir = "dataset/train"
ants_label_dir = "ants"
ants_dataset = MyData(root_dir, ants_label_dir)

img, label = ants_dataset[1]
img.show()
print(label)
posted @ 2024-10-11 15:50  awei040519  阅读(57)  评论(0)    收藏  举报