Курс 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. Удаление дубликатов с помощью множеств
  2. Декоратор total_ordering для сравнения объектов
  3. Проверка версии Python
  4. Python и Монти Пайтон
  5. Функции высшего порядка в Python
  6. Замена символов в Python
  7. Частичное совпадение ввода
  8. Установка и использование Python-dateutil
  9. Принципы Zen of Python
  10. Руководство по Pymorphy2
  11. Функции map() и reduce() в Python
  12. Установка и использование pyshorteners
  13. Проверка памяти объекта
  14. Работа с кортежами в Python
  15. Разделение строки с помощью re.split()
  16. Вывод переменной и строки в Python
  17. Операции с массивами в NumPy
  18. Решение переменной Шредингера
  19. Объединение списков в Python
  20. Объединение списков в Python
  21. Объединение списков с помощью zip
  22. Создание комплексных чисел
  23. Основы работы с базами данных в Python
  24. Метод join() с набором
  25. Ускорение обработки данных с %autoawait
  26. Переворот строки с использованием цикла
  27. Работа с CSV файлами
  28. Управление контекстом выполнения кода
  29. Управление асинхронными задачами на Python.
  30. Очистка данных в Python
  31. Расчет времени выполнения
  32. Мощь вложенных функций в Python
  33. Доступ к локальным переменным
  34. Модуль xkcd: загрузка комиксов
  35. Объединение словарей в Python
  36. Избегайте пустого списка
  37. Оператор * в Python
  38. Создание словарей с defaultdict
  39. Инвертирование словаря
  40. Удаление элемента из списка
  41. Работа с timedelta в Python
  42. Создание генераторов в Python
  43. Удаление ключей из словаря

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