1. 学ぶ
  2. /
  3. コース
  4. /
  5. PyTorch で学ぶ画像向け Deep Learning

Connected

演習

畳み込み型 Discriminator

DCGAN の generator が用意できたので、学習に進む前の最後のステップとして、畳み込み型の discriminator を定義します。

torch.nn は通常のエイリアスでインポート済みです。畳み込み型 discriminator を構築するために、畳み込み、バッチ正規化、Leaky ReLU 活性化を順に返すカスタム関数 gc_disc_block() を使います。以下で dc_disc_block() の定義を確認できます。

def dc_disc_block(in_dim, out_dim, kernel_size, stride):
    return nn.Sequential(
        nn.Conv2d(in_dim, out_dim, kernel_size, stride=stride),
        nn.BatchNorm2d(out_dim),
        nn.LeakyReLU(0.2),
    )

指示

100 XP
  • 最初の discriminator ブロックを、カスタム関数 dc_disc_block() を使って追加し、入力特徴マップを 3、出力特徴マップを 512 にしてください。
  • 出力サイズが 1 の畳み込み層を追加してください。
  • forward() メソッドでは、__init__() で定義したシーケンシャルブロックに入力を通してください。