二値分類モデル
Deep Learning の実務では、画像分類モデルの学習が主要なタスクの一つです。2つのクラスを見分ける二値分類に出会うことも多いでしょう。ワークフローを効率化し再利用性を高めるため、今後のプロジェクトにも適用できる二値画像分類用の CNN モデルのテンプレートを作成することにしました。
torch と、torch.nn を nn としてインポート済みです。すべての画像サイズは 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 = ____