Pocket Guide

MATLAB con Python per l’intelligenza artificiale

Scopri come integrare MATLAB con PyTorch e TensorFlow e sfruttare i modelli linguistici di grandi dimensioni (LLM) nei tuoi workflow di IA.

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
Diagramma del flusso di conversione.

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

Diagramma che mostra come integrare PyTorch e TensorFlow in MATLAB.

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

Diagramma che mostra che è possibile esportare i modelli MATLAB in PyTorch, così come in ONNX 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")

Provalo nel tuo browser

Importa un modello TensorFlow in MATLAB e illustra come funziona la previsione.

LIME (pavone).

Co-esecuzione di modelli basati su Python in MATLAB e Simulink

Usa modelli di IA basati su Python direttamente nel tuo workflow MATLAB o nel sistema Simulink per testare le prestazioni del modello e l’integrazione del sistema.

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

No

Simulazione del modello in Simulink

Generazione automatica di codice

No

Applicazione di tecniche di spiegabilità

Solo per il rilevamento di oggetti

Verifica della robustezza e dell’affidabilità

No

Uso di app di IA low-code

No

Compressione della rete

No

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.

Diagramma che mostra come chiamare modelli PyTorch e TensorFlow, o qualsiasi codice Python, direttamente da 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.

Diagramma che mostra come simulare e testare modelli PyTorch, TensorFlow, ONNX e modelli Python personalizzati all’interno di sistemi utilizzando i blocchi di co-esecuzione Simulink.

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.

Rilevamento di corsie e veicoli in Simulink con il Deep Learning

Chiamata di MATLAB da Python

Diagramma che mostra la 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.


Accesso ai LLM da MATLAB

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.

Illustrazione del workflow dell'elaborazione del linguaggio naturale.

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.

Illustrazione di una query dell'utente che passa per un chatbot per generare una risposta.

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.

Illustrazione di un workflow per la generazione aumentata dal recupero.

Workflow per la generazione aumentata dal recupero.

Provalo nel tuo browser

Crea un semplice chatbot con MATLAB e l’API di OpenAI.


Navigazione nel pannello

Tutorial

Deep Learning Onramp

Apprendimento delle basi del Deep Learning per i problemi di classificazione delle immagini in MATLAB