Курс 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"
- Метод rxor для операции побитового исключающего «или»
- Сортировка в Python
- Работа с deque из collections
- Генераторы словарей и множеств
- Работа с множествами в Python
- Работа со строками в Python
- Использование html-скриптов в Jupyter Notebook
- Выход из профиля в Django
- Генераторы в Python
- Просмотр внешних файлов в %pycat
- Оператор zip в Python
- Добавление элемента в список.
- Объединение, распаковка и деструктуризация
- Создание списков в Python
- Работа с изменяемыми коллекциями
- Перевод эмодзи и эмотиконов.
- Переопределение метода __and__
- Добавление элементов в список
- Порядок и длина множеств в Python
- Создание класса очереди
- Функции высшего порядка в Python
- Установка и использование библиотеки google
- Получение текущей даты в Python
- Возврат нескольких значений
- Передача аргументов в Python
- Замена атрибута в именованном кортеже
- Декораторы в Python
- Объединение строк с помощью метода join
- Проверка типа данных
- Оператор деления для класса Rational
- Метод __ixor__ для побитового исключающего ИЛИ
- Создание детектора плагиата
- Простой калькулятор Python
- Объединение словарей в Python 3.5+
- Списковые включения в Python
- Итераторы в Python
- Работа с getopt
- Работа с zip()
- Функция pow() — возвести число в степень
- Поиск наиболее частого элемента списке
- Работа с эмодзи в Python
- Python 3.12: Псевдонимы типов
- Работа с Event() в threading
- Python reversed() vs срез[::-1]
- Методы и функции в Python
- Склеивание строк через метод join()
- Списки в Python: синтаксис представления















