始める無料で始める

事前学習モデルのバックボーン

R-CNN アーキテクチャを構築しましょう。ここでは、特徴抽出に vgg16 の事前学習済みモデルのバックボーンを使用します。さらに、バックボーンの出力形状を保存しておきます。これは後続のブロック(分類器とボックス回帰器)の入力形状として使われます。

torchtorchvisiontorch.nnnn としてインポート済みです。 モデルは 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
____
コードを編集して実行