Курс 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
- Конструктор в Python
- F-строки в Python 3.8
- Преобразование Excel в PDF с Spire.XLS
- Основы Python
- Метод rename() для переименования файлов и каталогов
- Модуль Antigravity в Python 3
- Обязательные аргументы в Python
- Оператор continue в Python
- Декораторы в Python
- Сравнение def и lambda функций в Python
- Класс-оболочка для словарей
- Оператор match в Python
- Разделение строки с помощью re.split()
- Открытие и запись файлов
- Сортировка в Python
- Работа с enumerate()
- OrderedDict — упорядоченный словарь
- Модуль sys: основы
- Создание новой даты в Python
- Функция map() в Python
- Методы и функции в Python
- Поиск шаблона в строке
- Путь к интерпретатору Python
- Создание коллекций из выражения-генератора
- Метод Enumerate() для списков
- Роль запятой в Python
- Иерархия классов в Python
- Обход словаря в Python
- Создание новых функций с помощью functools.partial
- Декодирование байтов в строку
- Переворот списка в Python
- Логические операторы в Python
- Функции-генераторы в Python
- Функция pow() — возвести число в степень
- Многострочные комментарии в Python
- Оператор (*) в Python
- Хешируемые ключи в Python
- Значения по умолчанию в Python
- Срезы в Numpy
- Автоматизация с Python
- Проверка переменных окружения в Python
- Python: динамическая типизация и проверка типов
- Проверка версии Python















