数据集,数据加载(基于dataset,dataloader)

编程入门 行业动态 更新时间:2024-10-11 23:19:04

<a href=https://www.elefans.com/category/jswz/34/1771445.html style=数据集,数据加载(基于dataset,dataloader)"/>

数据集,数据加载(基于dataset,dataloader)

从文件夹中加载Dataset


import torch.utils.data as data
from PIL import Image
import osdef default_loader(path):return Image.open(path).convert('RGB')
##type(return):<class 'PIL.Image.Image'>IMG_EXTENSIONS = ['.jpg', '.JPG', '.jpeg', '.JPEG','.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',
]def is_image_file(filename):return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)#返回每个图像文件的路径(list)
def make_dataset(dir):images = []         #images保存图片文件的路径(不只是名字)assert os.path.isdir(dir), '%s is not a valid direntory' % dir# os.wark()方法#  os.wark()实际返回产生生成器<class 'generator'># sorted(os.wark())返回有若干三元组组成的list# sorted()保证每次数据顺序一样for root, dirs, files in sorted(os.walk(dir)):for fname in files:if is_image_file(fname):path = os.path.join(root,fname)images.append(path)return imagesclass ImageFolder(data.Dataset):def __init__(self, root='makeup', transform=None,return_path=False,loder=default_loader):imgs = sorted(make_dataset(root))if len(imgs) == 0:raise(RuntimeError("Found 0 image in:" + root + "\n""Supported image extensions are:" +",".join(IMG_EXTENSIONS)))self.root = rootself.imgs = imgsself.transform = transformself.return_path = return_pathself.loader = default_loaderdef __len__(self):return len(self.imgs)def __getitem__(self,index):path = self.imgs[index]img = self.loader(path)if self.transform is not None:img = self.transform(img)if self.return_path:return img, pathelse:return img

更多推荐

数据集,数据加载(基于dataset,dataloader)

本文发布于:2024-03-15 08:57:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1738529.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据   加载   dataloader   dataset

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!