創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)主營武岡網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,手機APP定制開發(fā),武岡h5小程序開發(fā)搭建,武岡網(wǎng)站營銷推廣歡迎武岡等地區(qū)企業(yè)咨詢這篇文章主要介紹pytorch如何加載自己的圖像數(shù)據(jù)集,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
之前學習深度學習算法,都是使用網(wǎng)上現(xiàn)成的數(shù)據(jù)集,而且都有相應的代碼。到了自己開始寫論文做實驗,用到自己的圖像數(shù)據(jù)集的時候,才發(fā)現(xiàn)無從下手 ,相信很多新手都會遇到這樣的問題。
下面代碼實現(xiàn)了從文件夾內(nèi)讀取所有圖片,進行歸一化和標準化操作并將圖片轉化為tensor。最后讀取第一張圖片并顯示。
# 數(shù)據(jù)處理 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.ToTensor(), # 將圖片轉換為Tensor,歸一化至[0,1] # transforms.Normalize(mean=[.5, .5, .5], std=[.5, .5, .5]) # 標準化至[-1,1] ]) #定義自己的數(shù)據(jù)集合 class FlameSet(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] 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 def __len__(self): return len(self.imgs) if __name__ == '__main__': dataSet=FlameSet('./test') print(dataSet[0])