Курс Python → Тестирование модели в PyTorch

Для того чтобы эффективно оценивать работу нашей модели машинного обучения, необходимо определить метод тестирования. Этот метод позволит нам проверить качество работы модели на тестовом наборе данных и вывести точность предсказаний. Основное отличие метода тестирования от обучения заключается в том, что в процессе тестирования мы используем функцию model.eval(), чтобы перевести модель в режим тестирования. Также важно использовать torch.no_grad(), чтобы отключить вычисление градиента, поскольку во время тестирования обратное распространение не требуется.

Для начала необходимо перевести модель в режим тестирования с помощью функции model.eval(). Это гарантирует, что все слои модели будут работать в режиме тестирования, что может влиять на поведение некоторых слоев, таких как Dropout или BatchNorm. Затем мы используем torch.no_grad(), чтобы временно отключить автоматическое дифференцирование и вычисление градиента. Это позволяет ускорить процесс тестирования, поскольку не нужно хранить градиенты для обновления весов модели.


model.eval()

with torch.no_grad():
    for inputs, labels in test_loader:
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        test_loss += loss.item()
        _, predicted = torch.max(outputs, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

test_accuracy = correct / total

Наконец, после прохождения всех тестовых данных, мы вычисляем средние потери для всего тестового набора и общую точность предсказаний. Это позволяет оценить, насколько хорошо модель обучилась и способна предсказывать значения на новых данных. Результаты тестирования помогут нам понять, какие улучшения можно внести в модель для повышения ее эффективности и точности предсказаний.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Декоратор total_ordering для сравнения объектов
  2. Генерация случайных чисел в Python
  3. Генерация случайных чисел Python
  4. f-строки в формате строк
  5. Оператор распаковки в Python
  6. Преобразование строки в число
  7. Определение основы слова с showballstemmer
  8. Работа с часовыми поясами в Python
  9. Вывод переменной и строки в Python
  10. Область видимости переменных
  11. Наследование в программировании
  12. Функции в одну строку
  13. Скачать видео с YouTube
  14. Получение обратного списка чисел
  15. Поиск с библиотекой Google
  16. Сортировка HTML-элементов
  17. Библиотека wikipedia для Python
  18. Установка и использование Python-dateutil
  19. Получение идентификатора объекта в памяти
  20. Цикл for в Python
  21. Инициализация переменных
  22. Открытие, чтение и закрытие файла
  23. Атрибуты класса и экземпляра
  24. Вычисление натуральных логарифмов в NumPy
  25. Вложенные генераторы в Python
  26. Генераторные выражения и islice.
  27. Библиотека funcy: удобные утилиты
  28. Python: Фильтрация списков с помощью filter()
  29. Контекстный менеджер в Python
  30. Функция __init__ в Python
  31. Принципы Zen Python
  32. Работа с getopt
  33. Изменение переменной в Python: nonlocal
  34. Работа с файлами в Python
  35. Работа с процессами в Python
  36. Многоточие в Python
  37. Структуры данных в Python
  38. Документирование функций в Python
  39. Добавление вложенных списков
  40. Работа с модулем glob в Python
  41. Обработка исключений в Python 3
  42. Pillow: работа с изображениями
  43. Оптимизация интернирования строк
  44. Просмотр файла в Jupyter Noteboo
  45. Работа с срезами в Python
  46. CLI-инструмент howdoi

Marketello читают маркетологи из крутых компаний