您现在的位置是:热点 >>正文
在 PyTorch 中使用 Datasets 和 DataLoader 自定义数据
热点898人已围观
简介...
有时候,在处理大数据集时,一次将整个数据加载到内存中变得非常难。
因此,唯一的方法是将数据分批加载到内存中进行处理,这需要编写额外的代码来执行此操作。对此,PyTorch 已经提供了 Dataloader 功能。
DataLoader
下面显示了 PyTorch 库中DataLoader函数的语法及其参数信息。
DataLoader(dataset, batch_size=1, shuffle=False, sampler=在 None, batch_sampler=None, num_workers=0, collate_fn=None, pin_memory=FalPyse, drop_last=False, timeout=0, worker_init_fn=None, *, prefetch_factor=2, &nbsTop; persistent_workers=False)
几个重要参数
dataset:必须首先使用数据集构造 DataLoader 类。 Shuffle :是否重新整理数据。 Sampler :指的是可选的 torch.utils.data.Sampler 类实例。采样器定义了检索样本的策略,顺序或随机或任何其他方式。使用采样器时应将 Shuffle 设置为 false。 Batch_Sampler :批处理级别。 num_workrcers :加载数据所需的子进程数。 collate_fn :将样本整理成批次。Torch 中可以进行自定义整理。 加载内置 MNIST 数据集
MNIST 是一个著名的包含手写数字的数据集。下面介绍如何使用DataLoader功能处理 PyTorch 的内置 MNIST 数据集。
import torch import matplotlib.pyplot as plt from torchvisioh n import datasets, transforms
上面代码,导入了 torchvision 的torch计算机视觉模块。通常在处理图像数据集时使用,并且可以帮助对图像进行规范化、调整大小和裁剪。
对于 MNIST 数据集,下面使用了归一化技术。
ToTensor()能够把灰度范围从0-255变换到0-1之间。
transform = transforms.Compose([transfo中使rms.ToTensor()])
下面代码用于加载所需的数据集。使用 PyTorchDataLoader通过给定 batch_size = 64来加载数据。shuffle=True打乱数据。
trainset = datasets.MNIST('~/.pytorch/MNIST_data/', download=True, train=True, transform=transform)&nbs用 p;trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True)
为了获取数据集的所有图像,一般使用iter函数和数据加载器DataLoader。
dataiter = iter(trainloader) images, labels = Da;dataiter.next() print(images.shape) print(labels.shape) plt.imshow(images[1].numpy().squeeze(), cmap='Greys_r')
自定义数据集
下面的代码创建一个包含 1000 个随机数的自定义数据集。
from torch.utils.data import Dataset&ntabsp;import random class SampleDataset(Dataset): def __init__(self,r1,r2): randomlist=[] for&senbsp;i in range(120): n = random.randint(r1,r2) randomlist.append(n)&nbtssp; self.samples=randomlist def __len__(self): return len(self.samples) 和def __getitem__(self,idx): return(self.samples[idx]) dataset=SampleDataset(1,100) dataset[100:120]
在这里插入图片描述
最后,将在自定义数据集上使用 dataloader 函数。将 batch_size 设 D为 12,并且还启用了num_workers =2 的并行多进程数据加载。
from torch.utils.data import DataLoader loader = DataLoader(dataset,batch_size=12, shuffle=True, num_workers=2 ) for i, batch&nbatsp;in enumerate(loader): print(i, batch)
写在后面通过几个示例了解了 PyTorch Dataloader 在将大量数据批量加载到内存中的作用。
Tags:
相关文章
做空机构香橼将做空大数据公司Palantir 并给予其20美元目标价
热点11月28日消息,据国外媒体报道,当地时间周五,做空机构香橼研究公司发布推文称,将做空大数据公司Palantir,并将其2020年的目标价定为20美元。 今年11月份,Palantir的股价一路飙升,...
【热点】
阅读更多OpenAI 与 Broadcom 联手打造未来 AI 加速器,强劲运算力即将到来
热点在人工智能领域的快速发展中,OpenAI 与 Broadcom 达成了一项重要的合作协议,共同开发具有10千瓦输出能力的 AI 加速器。此次合作显示了 OpenAI 在硬件技术上的进一步布局,意在提升...
【热点】
阅读更多标签: Elser.AI 刘耕 短剧AI 北大
热点据多知网报道,短剧AI Agent Elser.AI宣布连续完成种子轮与天使轮融资,累计获数百万美元支持。本轮融资由正轩投资领投,后浪资本、云沐资本跟投。今年上半年,Elser.AI还曾获得奇绩创坛种...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.totolink.vn/search/谷歌maps群发程序|软件【tg:seogoogle987】,mWq
- https://www.wellbees.com/catalogsearch/result/?action=CHECK&q=谷歌maps群发程序|软件【tg:seogoogle987】,Bsh
- https://www.temu.com/search_result.html?search_key=谷歌maps群发程序|软件【tg:seogoogle987】SPp
- https://www.wattpad.com/search/谷歌maps群发程序|软件【tg:seogoogle987】tYK
- https://www.sdcard.org/ja/?s=谷歌maps群发程序|软件【tg:seogoogle987】,tp3
- https://www.nslcleaders.org/?s=谷歌maps群发程序|软件【tg:seogoogle987】,nFM
- https://www.signingsavvy.com/sentence/谷歌maps群发程序|软件【tg:seogoogle987】,G7V
- https://www.polar-tech.com/?action=QUERY&s=谷歌maps群发程序|软件【tg:seogoogle987】,WZ4
- https://www.uctronics.com/catalogsearch/result/?q=谷歌maps群发程序|软件【tg:seogoogle987】,jIM
- https://www.flickr.com/photos/tags/谷歌maps群发程序|软件【tg:seogoogle987】mC4
- https://www.tcv.org.uk/search/谷歌maps群发程序|软件【tg:seogoogle987】,Xam
- https://www.sportbiketracktime.com/index.php?route=product/search&tag=谷歌maps群发程序|软件【tg:seogoogle987】,asP
- https://www.kuaikanmanhua.com/sou/谷歌maps群发程序|软件【tg:seogoogle987】,Yjv
- https://www.wilsonart.com/catalogsearch/result/?action=CHECK&q=谷歌maps群发程序|软件【tg:seogoogle987】,4FF
- https://www.u-bourgogne.fr/?cat=117&s=谷歌maps群发程序|软件【tg:seogoogle987】,5XK
- https://www.teamlab.art/fr/?submit=谷歌maps群发程序|软件【tg:seogoogle987】,UKi
- https://www.ussalabama.com/?action=CHECK&s=谷歌maps群发程序|软件【tg:seogoogle987】,3Ju
- https://www.nyif.com/catalogsearch/result/index/?f=sarbanesoxleyU&index=me_cms_pe&lit=20&mode=list&p=1&q=谷歌maps群发程序|软件【tg:seogoogle987】,z5u
- https://www.navylookout.com/?ID=nSBR6Ivdu6lZg1yr2SDs30Lo5sTs76yJ&s=谷歌maps群发程序|软件【tg:seogoogle987】,Fro
- https://www.woorden.org/spreekwoord.php?woord=谷歌maps群发程序|软件【tg:seogoogle987】,7nI
- https://www.teacherspayteachers.com/Browse/Price-Range/Free/Search:Western International University Physics degree=谷歌maps群发程序|软件【tg:seogoogle987】,BZN
- https://www.tombow.com/search/谷歌maps群发程序|软件【tg:seogoogle987】,E3S
- https://www.nss.nhs.scot/search?q=谷歌maps群发程序|软件【tg:seogoogle987】,5X4
- https://www.teamlab.art/ko/?submit=谷歌maps群发程序|软件【tg:seogoogle987】,4Zd
- https://www.teacherspayteachers.com/Browse/Search:谷歌maps群发程序|软件【tg:seogoogle987】,pAn
- https://www.lssystems.co.uk/search?page=0&per_page=24&term=谷歌maps群发程序|软件【tg:seogoogle987】,0bW
- https://www.laoairlines.com/?action=QUERY&s=谷歌maps群发程序|软件【tg:seogoogle987】,NgL
- https://www.kelsa.co.uk/catalogsearch/result/index/?T=1686132119291&q=谷歌maps群发程序|软件【tg:seogoogle987】,7qT
- https://www.toy-people.com/?s=谷歌maps群发程序|软件【tg:seogoogle987】,NdI
- https://www.mi.com/search?keyword=谷歌maps群发程序|软件【tg:seogoogle987】,DeP
- https://www.spicebar.de/catalogsearch/result/?q=谷歌maps群发程序|软件【tg:seogoogle987】,sRw
- https://www.searcychamber.com/list/search?AsfnA=DtkTQzs&q=谷歌maps群发程序|软件【tg:seogoogle987】,CD3
- https://www.sebson.de/en/search?query=谷歌maps群发程序|软件【tg:seogoogle987】,g2d
- https://www.yli.ro/catalogsearch/result/?q=谷歌maps群发程序|软件【tg:seogoogle987】,K6j
- https://www.randjleather.co.uk/index.php?route=product/search&tag=谷歌maps群发程序|软件【tg:seogoogle987】,YKD
- https://www.reginatangoshoes.com/en/catalogsearch/result/index/?T=1686132113407&q=谷歌maps群发程序|软件【tg:seogoogle987】,Pku
- https://www.shacknews.com/editorial-search?q=谷歌maps群发程序|软件【tg:seogoogle987】,YbU
- https://www.reallywildbirdfood.co.uk/store/search?q=谷歌maps群发程序|软件【tg:seogoogle987】,YtP
- https://www.wikiart.org/pt/Search/谷歌maps群发程序|软件【tg:seogoogle987】,iml
- https://www.vietnamconsulate-sf.org/?action=CHECK&s=谷歌maps群发程序|软件【tg:seogoogle987】,O2Q
- https://www.sic-info.org/en/?s=谷歌maps群发程序|软件【tg:seogoogle987】,TIq
- https://www.sonepar.ch/fr/search?q=谷歌maps群发程序|软件【tg:seogoogle987】,HUV
- https://www.sic-info.org/?s=谷歌maps群发程序|软件【tg:seogoogle987】,nYa
- https://www.routesonline.com/search/?query=谷歌maps群发程序|软件【tg:seogoogle987】,Gjt
- https://www.le-trend.com/en/search/=谷歌maps群发程序|软件【tg:seogoogle987】,tmo
- https://www.paspaley.com/catalogsearch/result/?action=QUERY&q=谷歌maps群发程序|软件【tg:seogoogle987】,ECv
- https://www.simcoemuskokahealth.org/SearchResults.aspx?SearchQuery=谷歌maps群发程序|软件【tg:seogoogle987】,Mp7
- https://www.remit.co.jp/vi/?s=谷歌maps群发程序|软件【tg:seogoogle987】heJ
- https://www.lgnewsroom.com/search/谷歌maps群发程序|软件【tg:seogoogle987】,9FW
- https://www.livehindustan.com/tags/谷歌maps群发程序|软件【tg:seogoogle987】,eRr