Курс 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"
- Метод radd для пользовательских чисел
- Хеширование паролей с использованием salt
- Логический оператор «and» в Python
- Многоточие в Python
- Вычисление натурального логарифма в NumPy
- Запрос пароля с помощью getpass
- Функция findall() для поиска вхождений строки
- Настройка нарезки списков
- Измерение времени выполнения кода
- Библиотека Rich: форматирование текста
- Установка и использование pyshorteners
- Операторы увеличения и уменьшения переменной
- Цепные операции в Python
- Работа с getopt
- Списки в Python: синтаксис представления
- Создание словарей с defaultdict()
- Работа с JSON в Python
- Получение срезов итераторов
- Закрытие файла в Python
- Переопределение метода __floordiv__
- Сравнение объектов в Python
- Функции в одну строку
- Метод rlshift для битового сдвига
- Перезапуск ячейки в Jupyter Notebook с dostoevsky
- Многопроцессорное программирование в Python
- Цикл for в Python
- Функция count() в Python
- Установка и использование howdoi
- Инверсия списка/строки в Python
- Сравнение строк в Python
- Работа с комбинациями в Python.
- PATCH-запрос с библиотекой requests
- Создание и удаление объектов
- Кортеж в Python: создание и использование
- Удаление URL-адресов в Python
- Обработка ошибок в Python
- Конкатенация строк в Python
- JSON в Python: модуль, dump, dumps, load
- Python enumerate() функции
- Преобразование числа в список цифр
- Создание итератора
- Обучение модели с указанием эпох
- Конкатенация строк с помощью join()















