Курс 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. Работа с GitHub в Telegram
  2. Поиск всех индексов подстроки
  3. Метод get для словаря
  4. Экспорт функций в Python
  5. Генераторы в Python
  6. Создание спинбокса в tkinter
  7. Работа с кортежами
  8. Оператор «or» в Python
  9. Группировка элементов Python
  10. Оператор walrus в Python
  11. Сортировка с помощью параметра key
  12. Применение промокода в Много лосося
  13. Генераторы списков в Python
  14. Преобразование вложенного списка
  15. Курсы Яндекс Практикум
  16. Проверка подстроки в строке с помощью in
  17. Отслеживание выполнения программы с библиотекой tqdm
  18. Работа с файлами в Python
  19. Печать календаря в Python
  20. Модуль itertools: эффективная работа с итераторами
  21. Генераторные функции в Python
  22. Создание и удаление объектов
  23. Модуль itertools: комбинации и перестановки
  24. Функция с **kwargs в Python
  25. Итераторы с потерямиZIP
  26. Расчет времени выполнения
  27. Импорт модулей и пакетов в Python
  28. Удаление элемента из списка
  29. Оператор «not» в Python
  30. Модуль array: создание и использование массивов
  31. Отображение HTML кода в Python
  32. Форматирование чисел в Python
  33. Сортировка с помощью key
  34. Раздувающийся словарь в Python
  35. Тестирование с responses
  36. Перевод эмодзи и эмотиконов.
  37. Логические значения в Python
  38. Преобразование данных в Python
  39. Преобразование числа в список цифр
  40. Логирование с Loguru
  41. Работа с модулем Calendar
  42. Объявление переменных в Python
  43. Аргумент по умолчанию
  44. Добавление элементов в список: append() vs extend()
  45. Операции с комплексными числами

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