Ottimizzare i modelli per la scalabilità
Distribuire i modelli di AI in modo efficiente è fondamentale nelle applicazioni reali, dove contano la velocità di inferenza, la dimensione del modello e l’efficienza computazionale. Ora metteremo alla prova la tua capacità di salvare e caricare modelli per la messa in produzione. Userai tecniche come l’esportazione con TorchScript per completare il workflow. Il dataset usato è una variante del dataset MNIST.
Completando questo esercizio, avrai preparato un modello ottimizzato per il deployment applicando le tecniche avanzate viste nella lezione.
I dataset X_test, y_test e il modulo torch.jit sono già stati precaricati per te.
Questo esercizio fa parte del corso
Modelli di AI scalabili con PyTorch Lightning
Istruzioni dell'esercizio
- Esporta il modello in TorchScript usando la funzione
trace. - Salva il modello in TorchScript.
- Carica il modello salvato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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%}")