在Torch中加載和使用預訓練模型通常通過使用torchvision.models模塊來實現。以下是一個簡單的示例,演示如何加載預訓練的ResNet模型并使用它對圖像進行預測:
import torch
import torchvision.models as models
import torchvision.transforms as transforms
from PIL import Image
# 加載預訓練的ResNet模型
model = models.resnet18(pretrained=True)
model.eval()
# 定義圖片預處理步驟
transform = 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]),
])
# 加載并預處理圖像
img = Image.open('image.jpg')
img = transform(img).unsqueeze(0)
# 使用模型進行預測
output = model(img)
# 獲取預測結果
_, predicted = torch.max(output, 1)
print('Predicted class:', predicted.item())
在上面的示例中,我們首先加載了預訓練的ResNet模型,并將其設置為評估模式。然后定義了圖像預處理步驟,并加載并預處理了一個示例圖像。最后,我們使用模型對圖像進行預測,并輸出預測結果。
請注意,這只是一個簡單的示例,實際應用中可能會有更復雜的預處理步驟和模型的使用方式,具體取決于你的應用場景和需求。