Курс 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. Присвоение и ссылки
  3. Декораторы в Python
  4. Участие в LP стейкинге Waves
  5. Работа с модулем cmath
  6. Генерация фальшивых данных с Faker
  7. Операторы присваивания в Python
  8. Приближение чисел в Python
  9. Функция с *args.
  10. Избегание изменяемых аргументов
  11. Получение ID процесса
  12. Изменение элемента списка
  13. Установка Python — Простое руководство
  14. Оператор in для проверки наличия элемента
  15. Протокол управления контекстом
  16. Конкатенация строк с помощью join()
  17. Область видимости переменных
  18. Python Ellipsis использование
  19. Изменения в обработке логических значений
  20. PrettyTable: создание таблицы
  21. Проекты на Python
  22. Обратное распространение ошибки
  23. Удаление элементов во время итерации
  24. Генерация резюме в Gensim
  25. Работа с модулем Calendar
  26. TON Smart Challenge #2: участие и подготовка
  27. Деление в Python
  28. Проверка версии Python
  29. Присоединение элементов коллекции
  30. Замена символов в Python
  31. Именованные кортежи в Python
  32. Получение комбинаций в Python
  33. Модуль antigravity: генерация координат
  34. Блок else в циклах Python
  35. Умножение строк и списков
  36. Просмотр файла в Jupyter Noteboo
  37. Мощь вложенных функций в Python
  38. Метод count() для списка
  39. Создание и использование модулей в Python
  40. Модуль Operator в Python

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