事前学習モデルのバックボーン
R-CNN アーキテクチャを構築しましょう。ここでは、特徴抽出に vgg16 の事前学習済みモデルのバックボーンを使用します。さらに、バックボーンの出力形状を保存しておきます。これは後続のブロック(分類器とボックス回帰器)の入力形状として使われます。
torch、torchvision、torch.nn は nn としてインポート済みです。
モデルは vgg16 として、重みは VGG16_Weights に保存された状態でインポートされています。
この演習はコースの一部です
PyTorch で学ぶ画像向け Deep Learning
演習の手順
- 事前学習済みの VGG16 の重みを読み込みます。
.children()を使ってclassifierの最初のレイヤーを順次ブロックとして参照し、in_featuresを取り出してinput_dimとして保存します。featuresと.children()を使って順次ブロックとしてバックボーンを作成します。- バックボーンモデルを表示(print)します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Load pretrained weights
vgg_model = vgg16(weights=____)
# Extract the input dimension
input_dim = nn.Sequential(*list(vgg_model.classifier.____()))[0].____
# Create a backbone with convolutional layers
backbone = nn.Sequential(*list(____))
# Print the backbone model
____