PyTorchで事前学習済みモデルを使用して転移学習を行う方法は何ですか?

PyTorchで事前学習済みモデルを使用して転移学習を行う手順は以下の通りです:

  1. PyTorchのtorchvision.modelsモジュールを使用して、事前学習済みモデル(例:ResNet、VGGなど)をロードします。
import torchvision.models as models

# Load pre-trained ResNet-50 model
model = models.resnet50(pretrained=True)
  1. モデルの最後の層を変更する:転移学習では通常、異なるタスクに関わるため、事前に訓練されたモデルの最後の層を新しい全結合層に置き換えて、新しいタスクの要求に適応させる必要があります。
import torch.nn as nn

# Modify the last layer of the model
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, num_classes) # num_classes为新任务的类别数
  1. 新しいタスクの要件に応じて、最適化器と損失関数を設定します。
import torch.optim as optim

criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9)
  1. モデルのトレーニング:新しいデータセットを使用してモデルをトレーニングします。
# 训练代码

上記の手順に従うことで、PyTorchで事前学習済みモデルを使用した転移学習ができます。

bannerAds