PyTorchで事前学習済みモデルを使用する方法は?

PyTorchで事前学習済みモデルを使用するには、torchvisionライブラリのmodelsモジュールを使用します。このモジュールには、ResNetやVGG、AlexNetなどのよく使用される事前学習済みモデルが含まれています。以下は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)
img = img.unsqueeze(0)  # 添加一个维度作为batch

# 进行推理
output = model(img)

上記の例では、まず事前学習されたResNetモデルをロードし、評価モードに設定しました。次に、画像をロードして前処理を行い、最後にモデルによる推論を行って出力を得ます。推論を行う前に、model.eval()を呼び出してモデルを評価モードに設定する必要があります。

bannerAds