始める無料で始める

モデルの評価

トレーニングループが整ったので、1000エポックの学習を終えたモデルが net として利用できる状態です。test_dataloader も、以前に train_dataloader を用意したのとまったく同じ方法で設定済みです—学習用ディレクトリではなくテスト用ディレクトリからデータを読み込む点だけが異なります。

これでテストデータに対してモデルを評価できます。評価するには、テストデータのバッチを反復処理する評価ループを書き、各バッチに対するモデルの予測を取得し、その精度を計算する必要があります。さっそくやってみましょう!

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

PyTorchによる中級ディープラーニング

コースを見る

演習の手順

  • バイナリ分類用に評価指標を Accuracy として設定し、acc に代入します。
  • テストデータの各バッチについて、モデルの出力を取得して outputs に代入します。
  • ループ後に、テスト全体の精度を計算して test_accuracy に代入します。

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

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

import torch
from torchmetrics import Accuracy

# Set up binary accuracy metric
acc = ____

net.eval()
with torch.no_grad():
    for features, labels in dataloader_test:
        # Get predicted probabilities for test data batch
        outputs = ____
        preds = (outputs >= 0.5).float()
        acc(preds, labels.view(-1, 1))

# Compute total test accuracy
test_accuracy = ____
print(f"Test accuracy: {test_accuracy}")
コードを編集して実行