Курс 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"
- Метод Event.wait() в Python
- Переворот строки с использованием цикла
- Фильтрация входных данных в Python
- 9 уловок для чистого кода
- Преобразование Word в PDF с Spire.Doc
- Библиотека sh: удобные команды терминала
- Создание и удаление объектов
- Тип CodeType в Python.
- Открытие и редактирование скриптов Python
- Возвращение нескольких значений
- Отладка в Python
- Методы сравнения множеств
- Генерация случайных чисел в Python
- Функция reduce() в Python
- Создание namedtuple из словаря
- Оператор обр. импликации
- Изменение объектов в Python
- Списковое включение в Python
- Атрибуты массивов в Numpy
- Метод add для класса Vector
- Модуль Antigravity в Python 3
- Идентификатор объекта в Python
- Передача словаря через **kwargs
- Подсчет частоты элементов с Counter
- Проверка списка: any() и all()
- Методы работы со списками
- Операции с датами в Python
- Проверка запуска скрипта или импорта модуля
- Работа с итераторами в Python
- Функции высшего порядка в Python
- Работа с библиотекой requests
- Создание именованных кортежей в Python
- Хэш-функции в Python
- Оценка выражений генератора в Python
- Функция enumerate() — Python
- Разделение строки в Python
- Порядок операций в Python
- TON Smart Challenge #2: участие и подготовка
- Создание и инициализация объектов
- Основы работы с базами данных в Python
- Удаление элемента по индексу в Python
- Метод lt для сортировки объектов
- Проверка класса объекта
- Профилирование кода
- Асинхронное выполнение задач в Python
- Прокачанный трейсинг ошибок
- Удаление falsy-значений из списка с помощью filter
- Аннотации типов в Python















