Курс 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. Загрузка постов Instagram
  3. Округление чисел с помощью round
  4. Список методов и атрибутов
  5. Операции с комплексными числами
  6. Оператор is в Python
  7. Библиотека schedule: планировщик задач
  8. Распаковка с оператором *
  9. Функция product() из itertools
  10. Протокол управления контекстом
  11. Сортировка HTML по CSS-селектору
  12. Декораторы в Python
  13. Модуль os в Python: работа с файлами
  14. Метод join() для объединения элементов строки
  15. Создание функций высшего порядка
  16. Управление контекстом с помощью декоратора contextmanager
  17. Подчеркивание в REPL
  18. Заказ карты Тинькофф Black
  19. Использование функции product
  20. Методы и функции в Python
  21. Профилирование кода
  22. Работа с *args и **kwargs в Python
  23. Генератор данных в Keras
  24. Управление памятью в numpy.
  25. Python enumerate() для работы с индексами
  26. Lambda-функция в Python: использование с map() и sum()
  27. Участие в LP стейкинге Waves
  28. Счетчик в Python: most_common()
  29. Работа с zip()
  30. Искажение имен в Python
  31. Создание и использование ChainMap
  32. Конструктор в Python
  33. Удаление элемента из списка в Python
  34. Особенности запятых в Python
  35. Работа с файлами в Python
  36. EMOT преобразование эмодзи в текст
  37. Игра «Виселица» на Python
  38. Метод Event.wait() в Python
  39. Именованные аргументы в Python
  40. Разработка Telegram-ботов
  41. Логический оператор «and» в Python
  42. Метод rrshift для пользовательских объектов
  43. Проверка надежности пароля на Python
  44. Создание треугольника Паскаля
  45. Просмотр внешнего файла в Python
  46. Enum в Python
  47. Статическая типизация в Python
  48. Настройка шрифта и цвета в Tkinter
  49. Форматирование строк в Python

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