Курс 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"
- Аннотации типов в Python
- Оператор in в Python
- UserString в Python
- Логические операторы в Python
- f-строки в формате строк
- Оператор «not» в Python
- Создание новых списков
- Установка random seed в Python
- Поиск подстроки в строке
- Добавление элементов в список
- Работа со слайсами
- Печать календаря
- Генерация случайных чисел Python
- Использование функции enumerate()
- Функции в Python: создание и вызов
- Модуль math: константы π и e
- Метод join для наборов
- Форматирование заголовков в Python
- Генерация случайных чисел в Python
- Функция zip() в Python
- Оператор is в Python
- Создание OrderedDict
- Гибкие функции Python
- Python Calendar Usage
- Создание копии итератора
- Метод enumerate() в Python
- Метод count в Python: почему count(», ») возвращает 4?
- Правила именования переменных
- Встроенные функции Python
- Абстракции словарей и множеств в Python
- Метод __imod__ для Python
- Работа с кортежами
- Howdoi — получение ответов из терминала
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Python Метод sleep() времени
- Распаковка элементов массива
- Модуль pprint
- Обмен переменными в Jupyter
- Оператор деления для класса Rational
- Экспорт данных с помощью writefile
- Добавление элемента в список.
- Оператор match в Python
- Метод add для класса Vector
- Частичное применение функций в Python
- Основы Python
- Функция zip() — объединение последовательностей
- Создание итератора















