Курс 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. Оператор zip в Python
  4. Оператор «and» в Python
  5. Фильтрация списка от «ложных» значений
  6. Удаление элементов по срезу
  7. Комментарии в Python.
  8. Цикл for в Python
  9. Метод rxor для операции побитового исключающего «или»
  10. Оператор умножения для вектора
  11. Метод join для объединения строк
  12. Удаление символа из строки
  13. Переопределение метода len
  14. Работа с аргументами командной строки
  15. Метод is_absolute() для PurePath
  16. Сравнение объектов в Python
  17. Оператор in для проверки наличия элемента
  18. Работа с CSV файлами в Python
  19. Изменения в обработке логических значений
  20. OrderedDict — упорядоченный словарь
  21. Отрицательные индексы списков в Python
  22. Получение размера объекта с sys.getsizeof()
  23. Обработка исключений в Python
  24. Работа с модулем random
  25. Отладка кода
  26. Применение команды break
  27. Быстрый поиск кода
  28. Избегайте двойного подчеркивания
  29. Разработка игры Pong с turtle
  30. Копирование списков в Python
  31. Строки в Python: апострофы и кавычки
  32. Копирование объектов в Python
  33. Проектирование Singleton с метаклассом
  34. Комментарии в Python
  35. Модуль sys: основы
  36. Подсчет элементов с помощью Counter
  37. Метод invert для побитового отрицания
  38. Структурирование именованных констант
  39. Именование переменных в Python
  40. Игра «Виселица» на Python
  41. Создание тестовых данных с Faker
  42. Конвертация изображений в PDF
  43. Поиск уникальных и повторяющихся элементов
  44. Перетасовка списков в Python

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