在PyTorch中讀取圖片有多種方法,常用的方法是使用torchvision
庫(kù)中的ImageFolder
和DataLoader
類(lèi)。首先,需要將圖片數(shù)據(jù)集組織成以下格式:一個(gè)文件夾包含所有的類(lèi)別文件夾,每個(gè)類(lèi)別文件夾包含該類(lèi)別的圖片。
import torch
from torchvision import transforms
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
# 定義數(shù)據(jù)轉(zhuǎn)換
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor()
])
# 讀取圖片數(shù)據(jù)集
dataset = ImageFolder(root='path_to_dataset', transform=transform)
# 創(chuàng)建數(shù)據(jù)加載器
dataloader = DataLoader(dataset, batch_size=32, shuffle=True)
# 遍歷數(shù)據(jù)加載器
for images, labels in dataloader:
# 進(jìn)行模型訓(xùn)練或其他操作
pass
在上面的代碼中,首先定義了一個(gè)數(shù)據(jù)轉(zhuǎn)換transform
,然后使用ImageFolder
類(lèi)加載圖片數(shù)據(jù)集,最后創(chuàng)建了一個(gè)數(shù)據(jù)加載器dataloader
用于批量加載數(shù)據(jù)。通過(guò)遍歷數(shù)據(jù)加載器,可以獲得每個(gè)batch的圖片數(shù)據(jù)和對(duì)應(yīng)的標(biāo)簽。