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()を呼び出してモデルを評価モードに設定する必要があります。