日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【小白学习PyTorch教程】五、在 PyTorch 中使用 Datasets 和 DataLoader 自定义数据

發布時間:2025/3/12 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【小白学习PyTorch教程】五、在 PyTorch 中使用 Datasets 和 DataLoader 自定义数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

「@Author:Runsen」

有時候,在處理大數據集時,一次將整個數據加載到內存中變得非常難。

因此,唯一的方法是將數據分批加載到內存中進行處理,這需要編寫額外的代碼來執行此操作。對此,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=False,?drop_last=False,?timeout=0,worker_init_fn=None,?*,?prefetch_factor=2,persistent_workers=False)

幾個重要參數

  • dataset:必須首先使用數據集構造 DataLoader 類。

  • Shuffle :是否重新整理數據。

  • Sampler :指的是可選的 torch.utils.data.Sampler 類實例。采樣器定義了檢索樣本的策略,順序或隨機或任何其他方式。使用采樣器時應將 Shuffle 設置為 false。

  • Batch_Sampler :批處理級別。

  • num_workers :加載數據所需的子進程數。

  • collate_fn :將樣本整理成批次。Torch 中可以進行自定義整理。

加載內置 MNIST 數據集

MNIST 是一個著名的包含手寫數字的數據集。下面介紹如何使用DataLoader功能處理 PyTorch 的內置 MNIST 數據集。

import?torch import?matplotlib.pyplot?as?plt from?torchvision?import?datasets,?transforms

上面代碼,導入了 torchvision 的torch計算機視覺模塊。通常在處理圖像數據集時使用,并且可以幫助對圖像進行規范化、調整大小和裁剪。

對于 MNIST 數據集,下面使用了歸一化技術。

ToTensor()能夠把灰度范圍從0-255變換到0-1之間。

transform?=?transforms.Compose([transforms.ToTensor()])

下面代碼用于加載所需的數據集。使用 PyTorchDataLoader通過給定 batch_size = 64來加載數據。shuffle=True打亂數據。

trainset?=?datasets.MNIST('~/.pytorch/MNIST_data/',?download=True,?train=True,?transform=transform) trainloader?=?torch.utils.data.DataLoader(trainset,?batch_size=64,?shuffle=True)

為了獲取數據集的所有圖像,一般使用iter函數和數據加載器DataLoader。

dataiter?=?iter(trainloader) images,?labels?=?dataiter.next() print(images.shape) print(labels.shape) plt.imshow(images[1].numpy().squeeze(),?cmap='Greys_r')

自定義數據集

下面的代碼創建一個包含 1000 個隨機數的自定義數據集。

from?torch.utils.data?import?Dataset import?randomclass?SampleDataset(Dataset):def?__init__(self,r1,r2):randomlist=[]for?i?in?range(120):n?=?random.randint(r1,r2)randomlist.append(n)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 設為 12,并且還啟用了num_workers =2 的并行多進程數據加載。

from?torch.utils.data?import?DataLoader loader?=?DataLoader(dataset,batch_size=12,?shuffle=True,?num_workers=2?) for?i,?batch?in?enumerate(loader):print(i,?batch)

寫在后面

通過幾個示例了解了 PyTorch Dataloader 在將大量數據批量加載到內存中的作用。

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯黃海廣老師《機器學習課程》課件合集 本站qq群851320808,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【小白学习PyTorch教程】五、在 PyTorch 中使用 Datasets 和 DataLoader 自定义数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本不卡一区二区三区视频 | 7777久久亚洲中文字幕 | 国产一级在线视频 | 天天舔天天摸 | 伊人99re | 国产精品久久久久久久久免费 | 超碰在线中文 | 久操欧美| 亚洲激情久久 | 亚洲AV无码精品黑人黑人 | 婷婷久久丁香 | av影视网| h视频在线免费观看 | 久久性生活 | heyzo朝桐光一区二区 | 在线免费黄色 | 中国a一片一级一片 | 永久免费视频网站 | 久久久久国产精品夜夜夜夜夜 | 韩日视频 | 成人青青草 | 日日干日日草 | 日韩精品成人av | 嫩草一区| 亚洲精品乱码久久久久99 | 美女视频黄频视频大全 | 生活片毛片 | 亚洲 欧美 日韩系列 | 成人试看120秒体验区 | 精品国产av 无码一区二区三区 | 就是色| 成人免费毛片网 | 精品久久久久久久久久久久久久久久久 | 久久综合久 | 日本乱大交xxxx公交车 | 人人干人人做 | 神马午夜伦理 | 国产精品jizz在线观看无码 | 午夜久久久久久久久久久 | 二区免费视频 | 最新国产精品自拍 | 青娱乐在线视频观看 | 伊人爱爱网 | 欧美日韩三级在线观看 | 国产成人精品影院 | 夜夜爽妓女8888视频免费观看 | 偷拍视频一区 | 小少妇哺乳喂奶播放 | 日韩美女视频在线观看 | 国产成人在线视频免费观看 | 国产一区中文字幕 | 成人免费区一区二区三区 | 91国产免费观看 | 国产鲁鲁视频在线观看特色 | 夜夜嗨av一区二区三区网页 | 婷婷久久网 | 西西人体44www大胆无码 | 小俊大肉大捧一进一出好爽 | 红桃一区二区三区 | 午夜污片 | 国产免费一级片 | 国产电影一区二区三区爱妃记 | 中文字字幕 | 亚洲喷水 | 五月婷婷亚洲 | 中文字幕观看av | 亚洲免费视频一区二区三区 | 欧美夜夜操 | 涩涩成人网 | 亚洲永久| 可以免费看污视频的网站 | 成人乱人乱一区二区三区 | 国产毛片毛片毛片毛片毛片毛片 | 11一12免费毛片 | 综合视频 | 成人日韩欧美 | 我要爱爱网 | 九九热九九热 | 黄色网址视频 | 欧美一级在线视频 | 中文区中文字幕免费看 | 真实新婚偷拍xxxxx | 国产免费观看久久黄av片 | 国产乱淫av免费 | 性色影院 | 国产成人aⅴ| 黄色片网站在线看 | 国产特黄级aaaaa片免 | 国产欧美一区二区三区在线看蜜臂 | 中文字幕av久久爽 | 欧美精品日韩 | 高清av在线| 福利影院在线观看 | av综合一区| 日本少妇裸体做爰高潮片 | 农夫色综合 | 字幕网在线观看 | 成年激情网| 免费在线看a|