Questa è la tua guida di riferimento per combinare modelli basati su MATLAB e Python® nei workflow di intelligenza artificiale (IA). Scopri come eseguire la conversione tra MATLAB, PyTorch® e TensorFlow™ utilizzando Deep Learning Toolbox.
Integrandosi con PyTorch e TensorFlow, MATLAB consente di:
- Facilitare la collaborazione tra piattaforme e tra team
- Verificare le prestazioni dei modelli e l’integrazione dei sistemi
- Accedere agli strumenti MATLAB e Simulink per la progettazione di sistemi ingegneristici
Conversione tra MATLAB, PyTorch e TensorFlow
Con Deep Learning Toolbox e MATLAB, puoi accedere a modelli pre-addestrati e progettare tutti i tipi di reti neurali profonde. Tuttavia, non tutti gli esperti di IA lavorano con MATLAB. Per facilitare la collaborazione tra piattaforme e tra team nella progettazione di sistemi basati sull’IA, Deep Learning Toolbox si integra con PyTorch e TensorFlow.
Perché importare modelli PyTorch e TensorFlow in MATLAB
Quando converti un modello PyTorch o TensorFlow in una rete MATLAB, puoi utilizzare la rete convertita con tutti gli strumenti integrati di MATLAB per l’IA, come funzioni e app, per il Transfer Learning, l’IA spiegabile e la verifica, la simulazione e il testing a livello di sistema, la compressione della rete e la generazione automatica di codice per l’implementazione su target.
Preparazione dei modelli PyTorch e TensorFlow per l’importazione
Prima di importare i modelli PyTorch e TensorFlow in MATLAB, è necessario prepararli e salvarli nel formato corretto. Puoi utilizzare il codice qui sotto in Python per preparare i tuoi modelli.
L’importatore di PyTorch richiede un modello PyTorch tracciato. Dopo aver tracciato il modello PyTorch, salvalo. Per ulteriori informazioni su come tracciare un modello PyTorch, consulta la documentazione di Torch: Come tracciare una funzione.
X = torch.rand(1,3,224,224)
traced_model = torch.jit.trace(model.forward,X)
traced_model.save("torch_model.pt")
Il tuo modello TensorFlow deve essere salvato nel formato SavedModel.
model.save("myModelTF")
Come importare modelli PyTorch e TensorFlow
Puoi importare modelli da PyTorch e TensorFlow in MATLAB, convertendoli in reti MATLAB con una sola riga di codice.
Utilizza la funzione importNetworkFromPyTorch e specifica PyTorchInputSizes con la dimensione di input corretta per il modello PyTorch specifico. In questo modo la funzione può definire un livello di input per le immagini, dato che nei modelli PyTorch questo elemento non è previsto in modo esplicito. Per ulteriori informazioni, consulta Consigli sull’importazione di modelli da PyTorch e TensorFlow.
net = importNetworkFromPyTorch("mnasnet1_0.pt",PyTorchInputSizes=[NaN,3,224,224])
Per importare una rete da TensorFlow, utilizza la funzione importNetworkFromTensorFlow.
Come importare modelli PyTorch e TensorFlow in modo interattivo
Puoi importare modelli da PyTorch in modo interattivo con l’app Deep Network Designer. Successivamente puoi visualizzare, modificare e analizzare la rete importata direttamente dall’app. Puoi anche esportare direttamente la rete in Simulink dall’app.
Come esportare modelli da MATLAB a PyTorch e TensorFlow
Puoi esportare e condividere le tue reti MATLAB in TensorFlow e PyTorch. Usa exportNetworkToTensorFlow per esportare direttamente in TensorFlow e la funzione exportONNXNetwork per esportare in PyTorch tramite ONNX™.
exportNetworkToTensorFlow(net,"myModel")
Confronto: co-esecuzione e conversione del modello
Prima di tutto, confronta la co-esecuzione di un modello PyTorch o TensorFlow nel tuo ambiente MATLAB con la conversione del modello da una piattaforma esterna in una rete MATLAB, così da decidere quale workflow si adatta meglio alla tua attività.
Co-esecuzione |
Conversione del modello |
|
|---|---|---|
Funziona per ogni modello PyTorch e TensorFlow |
Sì |
No |
Simulazione del modello in Simulink |
Sì |
Sì |
Generazione automatica di codice |
No |
Sì |
Applicazione di tecniche di spiegabilità |
Solo per il rilevamento di oggetti |
Sì |
Verifica della robustezza e dell’affidabilità |
No |
Sì |
Uso di app di IA low-code |
No |
Sì |
Compressione della rete |
No |
Sì |
Co-esecuzione di modelli basati su Python in MATLAB
Chiama modelli PyTorch e TensorFlow, o qualsiasi codice Python, direttamente da MATLAB. In questo modo puoi confrontare modelli basati su Python, ad esempio per trovare il modello che offre la massima accuratezza nel workflow di IA che hai creato in MATLAB.
Co-esecuzione di modelli basati su Python in Simulink
Simula e testa modelli PyTorch, TensorFlow, ONNX e modelli Python personalizzati all’interno di sistemi utilizzando i blocchi di co-esecuzione Simulink. Ciò consente di iterare la tua progettazione, valutare il comportamento del modello e testare le prestazioni del sistema.
Perché usare Simulink per i modelli di IA
Combinando l’IA con la progettazione Model-Based, oltre a testare l’integrazione dei modelli di Deep Learning in sistemi più complessi, gli ingegneri possono accelerare e migliorare la progettazione di sistemi complessi per applicazioni come la progettazione di sensori virtuali.
Chiamata di MATLAB da Python
Un’altra opzione per combinare MATLAB con Python nel workflow di IA è chiamare MATLAB dal tuo ambiente Python. Scopri questa opzione per preparare i dati, che devi inserire in un modello basato su Python utilizzando gli strumenti specifici del dominio MATLAB, oppure chiama gli strumenti di IA di MATLAB per visualizzare e interpretare le decisioni di un modello di IA basato su Python.
Apertura di archivi in MATLAB Online
Puoi lavorare con i LLM in MATLAB Online. Negli archivi File Exchange e GitHub® con codice MATLAB è disponibile il pulsante Apri in MATLAB Online. Facendo clic sul pulsante, l’archivio si apre direttamente in MATLAB Online.
Puoi accedere ai più diffusi modelli linguistici di grandi dimensioni (LLM), come gpt-4, llama3 e mixtral, da MATLAB tramite un’API o installando i modelli in locale. Quindi, utilizza il modello che preferisci per generare testo. In alternativa, puoi usare un modello BERT pre-addestrato, incluso in MATLAB.
LLM per l’elaborazione del linguaggio naturale
I LLM hanno rivoluzionato l’elaborazione del linguaggio naturale per la loro capacità di cogliere le relazioni complesse tra le parole e le sfumature presenti nel linguaggio umano. Utilizzare un LLM da MATLAB è solo una parte della pipeline dell’elaborazione del linguaggio naturale (vedi IA di MATLAB per l’elaborazione del linguaggio naturale). Sfrutta gli strumenti di MATLAB per costruire l’intera pipeline. Ad esempio, puoi utilizzare le funzioni di Text Analytics Toolbox per accedere ai dati testuali e prepararli.
Pipeline dell’elaborazione del linguaggio naturale.
Archivio: LLM con MATLAB
È possibile collegare MATLAB all’API Chat Completions di OpenAI® (alla base di ChatGPT™), Ollama™ (per i LLM locali) e ai servizi OpenAI di Azure® utilizzando l’archivio LLM con MATLAB.
Accesso ai LLM tramite l’API di OpenAI
Utilizzando il codice nell’archivio, puoi interfacciare l’API di OpenAI dal tuo ambiente MATLAB e usare modelli (come GPT-4 e GPT-4 Turbo) per varie attività di elaborazione del linguaggio naturale, tra cui la creazione di un tuo chatbot e la sentiment analysis. Per interfacciare l’API di OpenAI, devi ottenere una chiave API di OpenAI. Vedi API di OpenAI per maggiori dettagli su chiavi e costi.
Costruzione di un chatbot.
Accesso ai LLM tramite i servizi OpenAI di Azure
Per utilizzare i servizi OpenAI di Azure, devi prima distribuire un modello sul tuo account Azure e ottenere una chiave per il modello. Azure OpenAI sviluppa le sue API in collaborazione con OpenAI, apportando le funzionalità di sicurezza di Microsoft® Azure. I LLM nell’archivio MATLAB forniscono il codice per connetterti ai servizi OpenAI di Azure direttamente da MATLAB.
Accesso a LLM locali tramite Ollama
Utilizzando il codice nell’archivio e collegando MATLAB a un server Ollama locale, puoi accedere ai più diffusi LLM locali, come llama3, mistral e gemma. Puoi utilizzare LLM locali per attività di elaborazione del linguaggio naturale, come la generazione aumentata dal recupero (RAG), che può migliorare l’accuratezza del LLM utilizzando i tuoi dati.
Workflow per la generazione aumentata dal recupero.
Per saperne di più
Tutorial
Deep Learning Onramp
Apprendimento delle basi del Deep Learning per i problemi di classificazione delle immagini in MATLAB
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)