始める無料で始める

二値分類モデル

Deep Learning の実務では、画像分類モデルの学習が主要なタスクの一つです。2つのクラスを見分ける二値分類に出会うことも多いでしょう。ワークフローを効率化し再利用性を高めるため、今後のプロジェクトにも適用できる二値画像分類用の CNN モデルのテンプレートを作成することにしました。

torch と、torch.nnnn としてインポート済みです。すべての画像サイズは 64x64 ピクセルです。

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

PyTorch で学ぶ画像向け Deep Learning

コースを見る

演習の手順

  • 入力チャネル数 3、出力チャネル数 16、カーネルサイズ 3、ストライド 1、パディング 1 の畳み込み層を作成します。
  • 入力サイズ 16x32x32、クラス数 1 の全結合層を作成します。指定された順序の値のみを含めてください (16*32*32, 1)
  • sigmoid 活性化関数を作成します。

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

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

class BinaryImageClassifier(nn.Module):
    def __init__(self):
        super(BinaryImageClassifier, self).__init__()
        
        # Create a convolutional layer
        self.conv1 = ____(____)
        self.relu = nn.ReLU()
        self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
        self.flatten = nn.Flatten()
        
        # Create a fully connected layer
        self.fc = ____(____)
        
        # Create an activation function
        self.sigmoid = ____
コードを編集して実行