Оценка модели
После настройки цикла обучения модель была обучена в течение 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}")