ubuntu

Ubuntu下PyTorch数据加载技巧

小樊
42
2025-09-13 01:42:28
栏目: 智能运维

在Ubuntu下使用PyTorch加载数据时,可参考以下技巧提升效率:

一、多线程/多进程加载

二、数据预处理优化

三、硬件与环境配置

四、代码示例

import torch
from torch.utils.data import DataLoader, Dataset
from torchvision import transforms

# 自定义数据集
class CustomDataset(Dataset):
    def __init__(self, data_path, transform=None):
        self.data_path = data_path
        self.transform = transform
        self.image_paths = [...]  # 填充图像路径列表

    def __len__(self):
        return len(self.image_paths)

    def __getitem__(self, idx):
        image = Image.open(self.image_paths[idx]).convert('RGB')
        if self.transform:
            image = self.transform(image)
        return image, 0  # 假设标签为0

# 数据加载
transform = transforms.Compose([
    transforms.Resize(224),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])
])
dataset = CustomDataset(data_path='./data', transform=transform)
dataloader = DataLoader(dataset, batch_size=32, shuffle=True, num_workers=4, pin_memory=True)

# 训练循环中使用
for batch in dataloader:
    images, labels = batch
    images, labels = images.cuda(), labels.cuda()  # 移动到GPU
    # 模型训练代码...

五、性能监控

0
看了该问题的人还看了