始める無料で始める

Sequential ブロックを作成する

畳み込みレイヤーのブロックを作成して、バイナリ分類用の CNN モデルのテンプレートを作り直すことにしました。これにより、複数のレイヤーを順番に積み重ねられます。改良したこのモデルを使えば、さまざまな CNN アーキテクチャを簡単に設計できるようになります。

torch と、torch.nnnn としてインポート済みです。

この演習はコースの一部です

PyTorch で学ぶ画像向け Deep Learning

コースを見る

演習の手順

  • __init__() メソッド内で、畳み込みレイヤーのブロックを定義し、self.conv_block に代入します。
  • forward() の処理で、定義した畳み込みブロックに入力を通します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

class BinaryImageClassification(nn.Module):
  def __init__(self):
    super(BinaryImageClassification, self).__init__()
    # Create a convolutional block
    self.conv_block = ____(
      nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1),
      nn.ReLU(),
      nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1),
      nn.ReLU(),
    )
    
  def forward(self, x):
    # Pass inputs through the convolutional block
    x = ____
    return x
コードを編集して実行