Ce guide pratique est conçu pour vous aider à combiner des modèles basés sur MATLAB et Python® dans vos workflows d’intelligence artificielle (IA). Découvrez comment effectuer des conversions entre MATLAB, PyTorch® et TensorFlow™ avec Deep Learning Toolbox.
En s’intégrant avec PyTorch et TensorFlow, MATLAB vous permet :
- De simplifier la collaboration inter-plateformes et inter-équipes
- De tester les performances des modèles et l’intégration aux systèmes
- D’accéder aux outils MATLAB et Simulink pour le design de systèmes techniques
Effectuer des conversions entre MATLAB, PyTorch et TensorFlow
Deep Learning Toolbox et MATLAB vous permettent d’accéder à des modèles pré-entraînés et de concevoir tous types de réseaux de neurones profonds. Cependant, tous les professionnels de l’IA ne travaillent pas dans MATLAB. Afin de simplifier la collaboration inter-plateformes et inter-équipes lors du design de systèmes basés sur l’IA, Deep Learning Toolbox s’intègre à PyTorch et TensorFlow.
Pourquoi importer des modèles PyTorch et TensorFlow dans MATLAB
Lors de la conversion d’un modèle PyTorch ou TensorFlow en réseau MATLAB, vous pouvez utiliser votre réseau converti avec tous les outils d’IA intégrés à MATLAB, comme les fonctions et les applications, pour l’apprentissage par transfert, l’IA explicable et la vérification, la simulation et le test au niveau système, la compression des réseaux ainsi que la génération automatique de code pour le déploiement sur cibles.
Préparer des modèles PyTorch et TensorFlow en vue de l’importation
Avant d’importer des modèles PyTorch et TensorFlow dans MATLAB, vous devez préparer les modèles et les enregistrer au bon format. Vous pouvez utiliser le code ci-dessous dans Python pour préparer vos modèles.
L’outil d’importation de PyTorch attend un modèle PyTorch tracé. Après avoir tracé le modèle PyTorch, enregistrez-le. Pour en savoir plus sur comment tracer un modèle PyTorch, accédez à la documentation Torch : Tracer une fonction.
X = torch.rand(1,3,224,224)
traced_model = torch.jit.trace(model.forward,X)
traced_model.save("torch_model.pt")
Votre modèle TensorFlow doit être enregistré au format SavedModel.
model.save("myModelTF")
Comment importer des modèles PyTorch et TensorFlow
Vous pouvez importer des modèles depuis PyTorch et TensorFlow dans MATLAB, puis les convertir en réseaux MATLAB avec une simple ligne de code.
Utilisez la fonction importNetworkFromPyTorch
et spécifiez PyTorchInputSizes
avec la taille en entrée correspondant au modèle PyTorch concerné. Cela permet à la fonction de créer une couche d’entrée d’image pour le réseau importé, car les modèles PyTorch ne disposent pas intrinsèquement de couches d’entrée. Pour en savoir plus, consultez Conseils sur l’importation de modèles depuis PyTorch et TensorFlow.
net = importNetworkFromPyTorch("mnasnet1_0.pt",PyTorchInputSizes=[NaN,3,224,224])
Pour importer un réseau depuis TensorFlow, utilisez la fonction importNetworkFromTensorFlow
.
Importer des modèles PyTorch et TensorFlow de manière interactive
Vous pouvez importer des modèles depuis PyTorch de manière interactive grâce à l’application Deep Network Designer. Ensuite, vous pouvez afficher, modifier et analyser le réseau importé depuis l’application. Vous pouvez même exporter le réseau directement dans Simulink depuis l’application.
Comment exporter des modèles depuis MATLAB vers PyTorch et TensorFlow
Vous pouvez exporter et partager vos réseaux MATLAB vers TensorFlow et PyTorch. Utilisez exportNetworkToTensorFlow
pour exporter directement vers TensorFlow, et la fonction exportONNXNetwork
pour exporter vers PyTorch via ONNX™.
exportNetworkToTensorFlow(net,"myModel")

Pour continuer à explorer ce sujet
Comparaison : exécution conjointe et conversion des modèles
Pour commencer, comparez l’exécution conjointe d’un modèle PyTorch ou TensorFlow dans votre environnement MATLAB à la conversion du modèle de plateforme externe en réseau MATLAB afin de déterminer quel workflow convient le mieux à votre tâche.
Exécution conjointe |
Conversion du modèle |
|
---|---|---|
Fonctionne pour tous les modèles PyTorch et TensorFlow |
Oui |
Non |
Simuler le modèle dans Simulink |
Oui |
Oui |
Générer votre code automatiquement |
Non |
Oui |
Appliquer des techniques d’explicabilité |
Uniquement pour la détection d’objets |
Oui |
Vérifier la robustesse et la fiabilité |
Non |
Oui |
Utiliser des applications d’IA low-code |
Non |
Oui |
Compresser un réseau |
Non |
Oui |
Exécuter conjointement des modèles basés sur Python dans MATLAB
Appelez des modèles PyTorch et TensorFlow, ou tout code Python, directement depuis MATLAB. Cela vous permet de comparer des modèles basés sur Python, par exemple, afin d’identifier le modèle offrant la plus grande précision dans le cadre du workflow d’IA que vous avez créé dans MATLAB.
Exécuter conjointement des modèles basés sur Python dans Simulink
Simulez et testez des modèles PyTorch, TensorFlow, ONNX et Python personnalisés dans les systèmes utilisant les blocs d’exécution conjointe Simulink. Cela vous permet d’effectuer des itérations sur votre design, d’évaluer le comportement des modèles et de tester les performances du système.
Pourquoi utiliser Simulink pour les modèles d’IA
En combinant l’IA avec l’approche Model-Based Design, en plus de tester l’intégration des modèles de Deep Learning dans des systèmes plus vastes, les ingénieurs peuvent accélérer et améliorer le design de systèmes complexes pour des applications telles que le design de capteurs virtuels.
Appeler MATLAB depuis Python
Une autre option permettant de combiner MATLAB avec Python pour votre workflow d’IA consiste à appeler MATLAB depuis votre environnement Python. Cette option vous permet de préparer des données que vous introduisez dans un modèle basé sur Python à l’aide d’outils MATLAB spécifiques à un domaine, ou d’appeler les outils d’IA MATLAB pour visualiser et interpréter les décisions d’un modèle d’IA basé sur Python.
Ouvrir un référentiel dans MATLAB Online
Vous pouvez travailler avec des LLM dans MATLAB Online. Les référentiels File Exchange et GitHub® comportant du code MATLAB ont un bouton Open in MATLAB Online . Ce bouton permet d’ouvrir le référentiel directement dans MATLAB Online.
Pour continuer à explorer ce sujet
Vous pouvez accéder à des grands modèles de langage (LLM) tels que gpt-4, llama3 et mixtral depuis MATLAB, via une API ou en installant les modèles en local. Vous pouvez ensuite utiliser le modèle de votre choix pour générer du texte. Vous pouvez également utiliser un modèle BERT pré-entraîné, qui est inclus dans MATLAB.
Les LLM pour le traitement du langage naturel
Les LLM ont révolutionné le traitement du langage naturel (NLP), car ils permettent de saisir les relations complexes entre les mots et les nuances du langage humain. Les LLM de MATLAB ne constituent qu’une partie du pipeline NLP (consultez L’IA MATLAB pour le traitement du langage naturel). Exploitez des outils disponibles dans MATLAB pour créer le pipeline complet. Par exemple, vous pouvez utiliser les fonctions de Text Analytics Toolbox pour accéder aux données textuelles et les préparer.
Pipeline du traitement du langage naturel.
Référentiel : LLM avec MATLAB
Vous pouvez connecter MATLAB à l’API Chat Completions d’OpenAI® (qui anime ChatGPT™), Ollama™ (pour les LLM locaux), et aux services Azure® OpenAI en utilisant les LLM avec le référentiel MATLAB.
Accéder à des LLM via l’API OpenAI
En utilisant le code dans le référentiel, vous pouvez interfacer l’API OpenAI depuis votre environnement MATLAB et utiliser des modèles (tels que GPT-4 et GPT-4 Turbo) pour différentes tâches de NLP, y compris la création de votre propre chatbot et l’analyse de sentiment. Pour interfacer l’API OpenAI, vous devez obtenir une clé d’API OpenAI. Consultez API OpenAI pour en savoir plus sur les clés et les coûts.
Création d’un chatbot.
Accéder aux LMM via un service Azure OpenAI
Pour utiliser les services Azure OpenAI vous devez d’abord déployer un modèle sur votre compte Azure et obtenir une clé pour le modèle. Azure OpenAI codéveloppe ses API avec OpenAI et ajoute les fonctionnalités de sécurité de Microsoft® Azure. Les LLM disposant du référentiel MATLAB vous fournissent du code pour vous connecter aux services Azure OpenAI depuis MATLAB.
Accéder aux LLM locaux via Ollama
En utilisant le code dans le référentiel et en connectant MATLAB à un serveur Ollama local, vous pouvez accéder aux LLM locaux populaires, tels que llama3, mistral et gemma. Vous pouvez utiliser des LLM locaux pour des tâches de NLP, comme la génération augmentée de récupération (RAG), qui permet d’augmenter la précision du LLM en utilisant vos propres données.
Workflow de la génération augmentée de récupération.
Pour continuer à explorer ce sujet
Tutoriel
Deep Learning Onramp
Découvrez les fondamentaux du Deep Learning pour les problèmes de classification d’images dans MATLAB
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)