使用PyTorch预测图片并打印结果 - 详细代码示例
要打印预测图片的结果,您需要先加载模型并对图片进行预测。以下是一个示例代码,使用PyTorch和torchvision库加载预训练的ResNet模型,并打印出预测结果:
import torch
from torchvision import models, transforms
# 加载预训练的ResNet模型
model = models.resnet50(pretrained=True)
model.eval()
# 定义预处理的转换
preprocess = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
# 加载图片
image_path = 'path/to/your/image.jpg'
image = Image.open(image_path)
# 预处理图片
input_tensor = preprocess(image)
input_batch = input_tensor.unsqueeze(0)
# 将输入张量转移到所选设备(如GPU)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
input_batch = input_batch.to(device)
model.to(device)
# 进行预测
with torch.no_grad():
output = model(input_batch)
# 获取预测结果的索引
_, predicted_idx = torch.max(output, 1)
# 加载预测结果标签
labels_path = 'path/to/your/labels.txt'
with open(labels_path) as f:
labels = [line.strip() for line in f.readlines()]
# 打印预测结果
predicted_label = labels[predicted_idx.item()]
print('Predicted label: ' + predicted_label)
请注意,您需要将'path/to/your/image.jpg'替换为您要预测的图片的实际路径。您还需要将'path/to/your/labels.txt'替换为包含模型预测标签的文本文件的实际路径。
原文地址: https://www.cveoy.top/t/topic/o8Ri 著作权归作者所有。请勿转载和采集!