Optimisation des modèles pour l'évolutivité
Le déploiement efficace des modèles d'IA est essentiel pour les applications concrètes où la vitesse d'inférence, la taille des modèles et l'efficacité computationnelle sont importantes. Nous allons maintenant tester votre capacité à enregistrer et charger des modèles en vue de leur déploiement. Vous utiliserez des techniques telles que l'exportation TorchScript pour terminer le flux de travail. L'ensemble de données utilisé est une variante de l'ensemble MNIST.
En complétant cet exercice, vous aurez préparé un modèle optimisé pour le déploiement tout en appliquant les techniques avancées apprises dans cette leçon.
X_test
Les ensembles de données y_test
et torch.jit
ont été préchargés pour vous.
Cet exercice fait partie du cours
Modèles d'IA évolutifs avec PyTorch Lightning
Instructions
- Exportez le modèle vers TorchScript à l'aide de la fonction «
trace
». - Enregistrez le modèle dans TorchScript.
- Chargez le modèle enregistré.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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%}")