Курс 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. Именование переменных в Python
  2. Конструктор в Python
  3. F-строки в Python 3.8
  4. Преобразование Excel в PDF с Spire.XLS
  5. Основы Python
  6. Метод rename() для переименования файлов и каталогов
  7. Модуль Antigravity в Python 3
  8. Обязательные аргументы в Python
  9. Оператор continue в Python
  10. Декораторы в Python
  11. Сравнение def и lambda функций в Python
  12. Класс-оболочка для словарей
  13. Оператор match в Python
  14. Разделение строки с помощью re.split()
  15. Открытие и запись файлов
  16. Сортировка в Python
  17. Работа с enumerate()
  18. OrderedDict — упорядоченный словарь
  19. Модуль sys: основы
  20. Создание новой даты в Python
  21. Функция map() в Python
  22. Методы и функции в Python
  23. Поиск шаблона в строке
  24. Путь к интерпретатору Python
  25. Создание коллекций из выражения-генератора
  26. Метод Enumerate() для списков
  27. Роль запятой в Python
  28. Иерархия классов в Python
  29. Обход словаря в Python
  30. Создание новых функций с помощью functools.partial
  31. Декодирование байтов в строку
  32. Переворот списка в Python
  33. Логические операторы в Python
  34. Функции-генераторы в Python
  35. Функция pow() — возвести число в степень
  36. Многострочные комментарии в Python
  37. Оператор (*) в Python
  38. Хешируемые ключи в Python
  39. Значения по умолчанию в Python
  40. Срезы в Numpy
  41. Автоматизация с Python
  42. Проверка переменных окружения в Python
  43. Python: динамическая типизация и проверка типов
  44. Проверка версии Python

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