うまい寿司が食いたい。

うまい寿司が遠慮なく食べれるようになるまで,進捗とか垂れ流すブログ

pytorchでpretrained modelの最終層だけlrを変更する。

torchvisionで呼び出した最終層だけlrを変えるやり方がわからなかったので調べてみました。 pytorchの公式ドキュメントに記載があるので,そちらを参照して頂いたほうが正しい情報になると思います。

まず適当なmodelを呼び出します。

from torchvision import models

model = models.resnet18(pretrained=False)

lrを変えるのは,optimizerの部分で定義します。 公式ドキュメントをフォローしています。

import torch.optim as optim
optimizer = optim.SGD([
                                        {'params': model.parameters()},
                                        {'params': model.fc.parameters(), 'lr': 1e-3}
                                       ], lr=1e-2, momentum=0.9)

で行けるようです。 あとは学習させるだけです。