Deep Learning Academy · Leçon

Exporter vers ONNX

Exécutez votre modèle sur différents environnements d’exécution.

Leçon 2 sur 413 étapes

Exporter vers ONNX est une leçon Deep Learning Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Deep Learning Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Deep Learning Academy comprend 4 leçons au total.

Un modèle, de nombreux environnements d’exécution

Parfois, votre modèle doit s’exécuter là où PyTorch n’est pas installé. ONNX est un format partagé qui permet à un même modèle de fonctionner avec de nombreux moteurs. 🌐

La signification de ONNX

ONNX signifie Open Neural Network Exchange. Il s’agit d’un format de fichier indépendant des fournisseurs qui décrit votre modèle sous la forme d’un graphe d’opérations standard.

Pourquoi les équipes apprécient ONNX

Avec ONNX, vous entraînez votre modèle dans PyTorch, puis vous le déployez avec l’environnement d’exécution ONNX, sur mobile ou dans le navigateur, sans le réécrire pour chaque plateforme.

Exporter en un seul appel

Vous exportez le modèle en fournissant à PyTorch le modèle et un exemple d’entrée. L’exportateur trace l’exécution et écrit un graphe portable sur le disque.

import torch
torch.onnx.export(model, sample_input, 'model.onnx')

L’entrée fictive façonne le graphe

Ce tenseur d’exemple doit avoir la même forme d’entrée et le même type de données que vos données réelles, car l’exportateur enregistre les opérations déclenchées par les données.

sample_input = torch.randn(1, 3, 224, 224)

Nommez vos entrées et vos sorties

Donnez des noms clairs aux entrées et aux sorties afin que le code de service puisse associer les données par leur nom au lieu de deviner leur position.

torch.onnx.export(model, x, 'm.onnx',
  input_names=['image'], output_names=['logits'])

Autorisez des tailles de lot flexibles

Par défaut, la taille du lot est fixe. Marquez-la comme un axe dynamique afin que le modèle exporté accepte n’importe quel nombre d’entrées à la fois.

dynamic_axes={'image': {0: 'batch'}}

Vérifiez toujours votre exportation

Chargez le fichier avec la bibliothèque onnx et exécutez le vérificateur intégré pour confirmer que le graphe est valide avant de le déployer. ✅

import onnx
onnx.checker.check_model(onnx.load('model.onnx'))

Exécutez-le avec l’environnement d’exécution ONNX

ONNX Runtime est un moteur rapide qui exécute le modèle exporté sur CPU ou GPU, souvent plus rapidement qu’une inférence Python classique.

import onnxruntime as ort
session = ort.InferenceSession('model.onnx')

Confirmez la concordance des résultats

Faites passer la même entrée dans PyTorch et ONNX Runtime, puis comparez les sorties. Elles doivent être très proches, ce qui prouve que l’exportation est fidèle.

Surveillez la version de l’Opset

Chaque exportation cible une version de l’opset, c’est-à-dire l’ensemble des opérations prises en charge. Choisissez une version comprise par votre environnement d’exécution cible afin d’éviter les erreurs.

torch.onnx.export(model, x, 'm.onnx', opset_version=17)

Vérification rapide

Vous voulez qu’un lot fixe accepte plutôt n’importe quelle taille. Que devez-vous définir ?

Récapitulatif : portable entre les environnements d’exécution

Vous avez exporté un modèle PyTorch vers ONNX avec une entrée d’exemple, nommé les axes, validé le modèle et l’avez exécuté n’importe où avec ONNX Runtime. 🎉

Gratuit pour commencer

Apprends Python avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Exporter vers ONNX » est-elle gratuite ?

Oui — le texte complet de « Exporter vers ONNX » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Deep Learning Academy, passe à CoddyKit PRO. Le cours Deep Learning Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Exporter vers ONNX » ?

Exécutez votre modèle sur différents environnements d’exécution. Tu pratiques Deep Learning Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Deep Learning Academy ?

Aucune expérience préalable n'est requise. Deep Learning Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Exporter vers ONNX » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Deep Learning Academy ?

Oui. Chaque leçon Deep Learning Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. TorchScript et torch.compile
  2. Exporter vers ONNX
  3. Quantification pour des modèles plus petits et plus rapides
  4. Fournir un service avec FastAPI
← Retour à Deep Learning Academy