pytorch之建立資料集

2021-09-26 14:23:37 字數 1644 閱讀 7072

import torch

import torchvision

from torchvision import datasets,transforms

dataroot = "data/celeba" # 資料集所在資料夾

# 建立資料集

dataset = datasets.imagefolder(root=dataroot,

transform=transforms.compose([

transforms.resize(image_size),

transforms.centercrop(image_size),

transforms.totensor(),

transforms.normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),

]))# create the dataloader

dataloader = torch.utils.data.dataloader(dataset, batch_size=batch_size,

shuffle=true, num_workers=workers)

1)torchvision.datasets.imagefolder(root, transform=none, target_transform=none, loader=default_loader)

它主要有四個引數:

pytorch的torchvision模組中提供了乙個dataset 包,它包含了一些基本的資料集如mnist、coco、imagenet和乙個通用的資料載入器imagefolder。不同資料夾下的圖,會被當作不同的類,天生就用於影象分類任務。

imagefolder有3個成員變數:用綠色表示x為train時的image_datasets的屬性

self.classes:用乙個list儲存類名,就是資料夾的名字。如['green', 'normal', 'out', 'right']

self.class_to_idx:類名對應的索引,可以理解為 0、1、2、3 等。如

self.imgs:儲存(imgpath,class),是和類別的陣列。如[('datasets/test_true_traintest/train/green/0000000012200roi_.jpg', 0), ... , ('datasets/test_true_traintest/train/right/0000000012980roi_.jpg', 3)]

2)torchvision.transforms

torchvision.transforms 模組提供了一般的影象轉換操作類。

把shape=(h x w x c) 的畫素值為 [0, 255] 的 pil.image 和 numpy.ndarray

轉換成shape=(c x h x w)的畫素值範圍為[0.0, 1.0]的 torch.floattensor。

3)torch.utils.data.dataloader

將資料按照batch_size封裝成tensor

pytorch之資料集構造

這些天看的東西,真的是比較多,相比以前來說,對我的學習方式起到顛覆性作用。我目前覺得,我們學到的東西,更多是孤立的,因此,在吸收一定知識後,需要在腦子裡形成知識體系。需要把自己以前學到的東西進行整理,形成乙個體系,這篇文章講解的是,深度學習中pytorch資料集的構造!pytorch中有兩個自定義管...

pytorch 載入資料集

2 tensor 的 構造方式 import torch import numpy as np data np.array 1,2,3 print torch.tensor data 副本 print torch.tensor data 副本 print torch.as tensor data 檢...

pytorch讀取coco資料集

yolov3 an incremental improvement 原理在該篇部落格就寫的很詳細了,這裡就不贅述了 bin bash credit clone coco api git clone cd coco mkdir images cd images download images wget...