我使用的图片是上图,直接下载即可
transforms.Compose
是PyTorch中的一个实用工具,用于创建一个包含多个数据变换操作的变换对象。这些变换操作通常用于数据预处理,例如图像数据的缩放、裁剪、旋转等。使用transforms.Compose
可以将多个数据变换组合在一起,以便将它们应用于数据。
在这个示例中,transforms.Compose
被用于调整图像大小并将图像转换为张量,然后我们单独对张量执行了 unsqueeze(0) 操作以添加批次维度。这种分开执行的方式更清晰,并且通常更容易维护和理解。
from PIL import Image
from torchvision import transforms
import torch
from torchvision.io import read_image
input_path = "D:\Document\ROG Strix 2019_1920x1080.png"
img_tensor = read_image(input_path)
print(img_tensor)
input_data=Image.open(input_path)
# 定义数据预处理操作
data_transforms = transforms.Compose([
transforms.Resize((224, 224)),# 调整图像大小
transforms.ToTensor(),#转化为张量
# 归一化至 [0, 1] 范围内(假设图像为 RGB)
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
# 应用数据预处理操作到输入图像
transformed_data = data_transforms(input_data)
# 单独执行 unsqueeze 操作
transformed_data = transformed_data.unsqueeze(0)
print(transformed_data)