pytorch 数据处理:定义自己的数据集合实例
(编辑:jimmy 日期: 2025/3/4 浏览:3 次 )
数据处理
版本1
#数据处理 import os import torch from torch.utils import data from PIL import Image import numpy as np #定义自己的数据集合 class DogCat(data.Dataset): def __init__(self,root): #所有图片的绝对路径 imgs=os.listdir(root) self.imgs=[os.path.join(root,k) for k in imgs] def __getitem__(self, index): img_path=self.imgs[index] #dog-> 1 cat ->0 label=1 if 'dog' in img_path.split('/')[-1] else 0 pil_img=Image.open(img_path) array=np.asarray(pil_img) data=torch.from_numpy(array) return data,label def __len__(self): return len(self.imgs) dataSet=DogCat('./data/dogcat') print(dataSet[0])
输出:
( ( 0 ,.,.) = 215 203 191 206 194 182 211 199 187 "htmlcode">#数据处理 import os import torch from torch.utils import data from PIL import Image import numpy as np from torchvision import transforms transform=transforms.Compose([ transforms.Resize(224), #缩放图片,保持长宽比不变,最短边的长为224像素, transforms.CenterCrop(224), #从中间切出 224*224的图片 transforms.ToTensor(), #将图片转换为Tensor,归一化至[0,1] transforms.Normalize(mean=[.5,.5,.5],std=[.5,.5,.5]) #标准化至[-1,1] ]) #定义自己的数据集合 class DogCat(data.Dataset): def __init__(self,root): #所有图片的绝对路径 imgs=os.listdir(root) self.imgs=[os.path.join(root,k) for k in imgs] self.transforms=transform def __getitem__(self, index): img_path=self.imgs[index] #dog-> 1 cat ->0 label=1 if 'dog' in img_path.split('/')[-1] else 0 pil_img=Image.open(img_path) if self.transforms: data=self.transforms(pil_img) else: pil_img=np.asarray(pil_img) data=torch.from_numpy(pil_img) return data,label def __len__(self): return len(self.imgs) dataSet=DogCat('./data/dogcat') print(dataSet[0])输出:
( ( 0 ,.,.) = -0.1765 -0.2627 -0.1686 … -0.0824 -0.2000 -0.2627 -0.2392 -0.3098 -0.3176 … -0.2863 -0.2078 -0.1765 -0.3176 -0.2392 -0.2784 … -0.2941 -0.1137 -0.0118 … "_blank" href="https://github.com/WebLearning17/CommonTool" rel="external nofollow" >https://github.com/WebLearning17/CommonTool以上这篇pytorch 数据处理:定义自己的数据集合实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇:解决Pytorch训练过程中loss不下降的问题
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?