Оптимизация моделей для масштабирования
Эффективное развёртывание моделей ИИ критически важно для реальных приложений, где имеют значение скорость инференса, размер модели и вычислительная эффективность. В этом упражнении вы проверите своё умение сохранять и загружать модели для развёртывания. Для завершения рабочего процесса вы воспользуетесь экспортом в TorchScript. Набор данных является вариацией MNIST.
Выполнив это упражнение, вы подготовите модель, оптимизированную для развёртывания, применив продвинутые техники, изученные в этом уроке.
Наборы данных X_test, y_test, а также модуль torch.jit уже загружены для вас.
Это упражнение является частью курса
Масштабируемые модели ИИ с PyTorch Lightning
Инструкции к упражнению
- Экспортируйте модель в TorchScript с помощью функции
trace. - Сохраните модель в формате TorchScript.
- Загрузите сохранённую модель.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Export model to TorchScript
scripted_model = torch.jit.____(model, torch.tensor(X_test[:1], dtype=torch.float32).unsqueeze(1))
# Save model to TorchScript
torch.jit.____(scripted_model, 'model.pt')
# Loaded saved model
loaded_model = torch.jit.____('____.pt')
# Validate inference on test dataset
test_loader = DataLoader(TensorDataset(torch.tensor(X_test, dtype=torch.float32).unsqueeze(1), ____), batch_size=64)
accuracy = evaluate_model(loaded_model, test_loader)
print(f"Optimized model accuracy: {accuracy:.2%}")