以下是一段示例代码,它会加载多张图片、裁剪、缩放、标准化、转换为张量并打包成数据集,以便输入到 PyTorch 模型中:

import os
from PIL import Image
import torch
from torchvision import transforms

# 设置路径和变换
data_dir = 'path/to/data'
transform = transforms.Compose([
    transforms.CenterCrop(224), # 裁剪为 224x224 像素
    transforms.Resize(256),     # 缩放为 256x256 像素
    transforms.ToTensor(),      # 转换为张量
    transforms.Normalize(       # 标准化
        mean=[0.485, 0.456, 0.406],
        std=[0.229, 0.224, 0.225]
    )
])

# 加载图片并应用变换
dataset = []
for filename in os.listdir(data_dir):
    if filename.endswith('.jpg'):
        img = Image.open(os.path.join(data_dir, filename))
        img = transform(img)
        dataset.append(img)

# 打包成数据集并输入到 PyTorch 模型中
loader = torch.utils.data.DataLoader(dataset, batch_size=16, shuffle=True)
for batch in loader:
    output = model(batch)

在这个示例代码中,我们:

  • 设置了数据路径和变换(裁剪、缩放、标准化、转换为张量)。
  • 遍历了数据目录,加载每张图片并应用变换。
  • 将变换后的图片打包成数据集,使用 PyTorch 的 DataLoader 进行批量加载。
  • 将每个批次输入到 PyTorch 模型中,进行预测或训练。
PyTorch 图片预处理:加载、裁剪、缩放、标准化和打包

原文地址: https://www.cveoy.top/t/topic/nix6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录