【学習記録5】AIによる「物体検出」を学ぼう!

Udemyの「AIによる「物体検出」を学ぼう!」の5日目です。

今日は「セクション1」の「8. 演習」です。

新たなデータ拡張として、「確率0.5でランダムに領域を消去」するように変更されたことを前提として、データの前処理やモデルの構築のコードを記述するという問題。

これは、まず、torchvision.transformsについて学ばなければなりませんね。

ググってみると、次のサイトが分かりやすかったです。


eraseに「確率0.5でランダムに領域を消去」する処理をセットすればよいので、
erase = transforms.RandomErasing(p=0.5)

次にモデルの構築の穴埋め問題。
前回学習したコードを参考に考えると、チャンネル数が今回は増やされているので、それに合わせたものにする必要がありますね。

        x = self.pool(F.relu(self.conv1(x)))
        x = self.pool(F.relu(self.conv2(x)))
        x = x.view(-1, 32*5*5)
        x = F.relu(self.fc1(x))
        x = self.dropout(x)
        x = self.fc2(x)

続いて、「学習」でモデルを訓練しました。
エラーが発生せず、学習に伴い訓練誤差とテスト誤差が共に減少することを確認できました。

最後に、解答例がありましたが、正しく回答できていたことが分かりました。よかった!

ただ、、、まだまだ内容が腑に落ちていないので、引き続き、torchvisionの学習も行わなければなりませんね。

今回はここまでとします。

この記事が気に入ったらサポートをしてみませんか?