Курс 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. Метод Event.wait() в Python
  2. Переворот строки с использованием цикла
  3. Фильтрация входных данных в Python
  4. 9 уловок для чистого кода
  5. Преобразование Word в PDF с Spire.Doc
  6. Библиотека sh: удобные команды терминала
  7. Создание и удаление объектов
  8. Тип CodeType в Python.
  9. Открытие и редактирование скриптов Python
  10. Возвращение нескольких значений
  11. Отладка в Python
  12. Методы сравнения множеств
  13. Генерация случайных чисел в Python
  14. Функция reduce() в Python
  15. Создание namedtuple из словаря
  16. Оператор обр. импликации
  17. Изменение объектов в Python
  18. Списковое включение в Python
  19. Атрибуты массивов в Numpy
  20. Метод add для класса Vector
  21. Модуль Antigravity в Python 3
  22. Идентификатор объекта в Python
  23. Передача словаря через **kwargs
  24. Подсчет частоты элементов с Counter
  25. Проверка списка: any() и all()
  26. Методы работы со списками
  27. Операции с датами в Python
  28. Проверка запуска скрипта или импорта модуля
  29. Работа с итераторами в Python
  30. Функции высшего порядка в Python
  31. Работа с библиотекой requests
  32. Создание именованных кортежей в Python
  33. Хэш-функции в Python
  34. Оценка выражений генератора в Python
  35. Функция enumerate() — Python
  36. Разделение строки в Python
  37. Порядок операций в Python
  38. TON Smart Challenge #2: участие и подготовка
  39. Создание и инициализация объектов
  40. Основы работы с базами данных в Python
  41. Удаление элемента по индексу в Python
  42. Метод lt для сортировки объектов
  43. Проверка класса объекта
  44. Профилирование кода
  45. Асинхронное выполнение задач в Python
  46. Прокачанный трейсинг ошибок
  47. Удаление falsy-значений из списка с помощью filter
  48. Аннотации типов в Python

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