前言
p6 Dataset类代码实战
B站视频链接:PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】
一、使用os和Image导入图片
1.导包以及项目路径展示
from PIL import Image
import os
2.导入图片并显示
from PIL import Image
import os
dir_path = '../pytorch_xtd/dataset/train/ants/' # ants图片文件夹相对路径
img_name_list = os.listdir(dir_path) # 读取文件夹中所有图像名
img = Image.open(dir_path + img_name_list[0]) # 读取文件夹中第一个图像
img.show() # 图像显示
二、继承Dataset进行整合
代码如下(示例):
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(root_dir, label_dir) # 获取某类图像的绝对路径
self.img_name = os.listdir(self.path) # 获取当前类所有图像的名字
def __getitem__(self, item):
img_item_path = os.path.join(self.path + self.img_name[item])
img = Image.open(img_item_path)
label = self.label_dir
return img, label
def __len__(self):
return len(self.img_name)
root_dir = '../pytorch_xtd/dataset/train/'
label_dir = 'ants/'
ants_data = MyData(root_dir, label_dir)
img, label = ants_data[0]
img.show()