Aller au contenu principal

Leçon 5 — Frameworks et environnements

Deux sujets dans cette leçon, sans rapport apparent et pourtant liés : le choix du framework de deep learning, et la gestion des environnements. Le premier détermine ce que vous pourrez lire et réutiliser. Le second détermine si votre projet fonctionnera encore dans six mois.

PyTorch et TensorFlow

Les deux font la même chose : construire, entraîner et exécuter des réseaux de neurones sur processeur ou sur carte graphique. Ils diffèrent par leur histoire, leur philosophie et leur situation actuelle.

TensorFlow, publié par Google en 2015, est arrivé le premier et a défini le domaine. Sa première version demandait de déclarer d'abord le graphe de calcul, puis de l'exécuter — puissant pour l'optimisation, très désagréable à déboguer, puisqu'une erreur n'apparaissait qu'à l'exécution du graphe entier. Keras, interface de haut niveau intégrée depuis, a beaucoup simplifié l'usage courant.

PyTorch, publié par Facebook en 2016, a fait le choix inverse : le graphe se construit au fil de l'exécution. Le code se lit comme du Python ordinaire, vous pouvez insérer un affichage au milieu d'un réseau, et une erreur se produit à la ligne fautive. La recherche a basculé en quelques années.

PyTorchTensorFlow
Publié parFacebook (Meta), 2016Google, 2015
Écritureproche du Python ordinaireKeras pour le haut niveau
Débogagenaturel, ligne par ligneplus indirect
Recherche en 2026très largement dominantminoritaire
Production historiqueen forte progressionprésent dans beaucoup de systèmes existants
Mobile et embarquéExecuTorch, en maturationTensorFlow Lite, mature
Écosystème Hugging Facesupposé par défautsupporté, moins central
La réponse courte

Apprenez PyTorch si vous démarrez en 2026. La quasi-totalité des modèles publiés, des tutoriels récents et des dépôts d'articles de recherche le supposent. TensorFlow reste utile à connaître si vous rejoignez une équipe dont les systèmes en production ont été bâtis avant 2020, ou si vous ciblez l'embarqué.

Une précision utile : ce choix compte beaucoup moins qu'il n'y paraît. Les concepts — tenseurs, couches, fonction de perte, optimiseur, boucle d'entraînement — sont identiques. Quelqu'un qui maîtrise l'un devient opérationnel sur l'autre en une semaine. Ne transformez pas ce choix en obstacle.

Hugging Face, la couche que personne n'anticipe

Une troisième pièce mérite d'être nommée, parce qu'elle a changé la pratique plus que le choix du framework.

Hugging Face héberge des centaines de milliers de modèles pré-entraînés — langage, vision, audio — accessibles en quelques lignes. Cela transforme la manière de résoudre un problème :

  • Avant : collecter des données, concevoir une architecture, entraîner plusieurs jours sur du matériel coûteux.
  • Maintenant : chercher un modèle qui fait déjà presque ce que vous voulez, l'essayer, et l'affiner sur vos données si nécessaire.

C'est le transfer learning appliqué à l'échelle industrielle, et c'est aujourd'hui le point de départ par défaut sur du texte et des images. Entraîner de zéro reste réservé aux cas où aucun modèle existant ne convient — situation plus rare qu'on ne l'imagine.

Les environnements, et le problème qu'ils résolvent

Passons au sujet ingrat. Il n'est pas amusant et il est la première cause d'après-midi perdue.

Ce qui casse

Vous travaillez sur un projet A qui a besoin d'une version précise d'une bibliothèque. Vous démarrez un projet B qui en exige une plus récente. Si les deux partagent la même installation de Python, installer pour B casse A. Silencieusement, parfois : le code s'exécute et le résultat change.

Ajoutez à cela les dépendances croisées — une bibliothèque de deep learning fixe une version de NumPy, une autre en exige une différente — et vous obtenez ce que la communauté appelle sobrement l'enfer des dépendances.

La solution

Un environnement virtuel est une installation de Python isolée, propre à un projet. Chaque projet a son dossier de bibliothèques, ses versions, et ne peut pas abîmer les autres.

Trois outils, selon le contexte :

  • venv — inclus dans Python, léger, suffisant dans la grande majorité des cas. C'est le choix par défaut recommandé.
  • conda — plus lourd, mais gère aussi des dépendances non Python et simplifie l'installation de bibliothèques scientifiques compilées, en particulier sous Windows.
  • uv — arrivée récente, très rapide, compatible avec l'outillage pip, adoptée de plus en plus vite.

La règle de survie

Un fichier qui liste les versions exactes utilisées — requirements.txt ou son équivalent — doit être versionné avec le projet. Sans lui, « ça marchait il y a six mois » est une affirmation invérifiable, et personne, vous compris, ne pourra reproduire vos résultats.

Le GPU, cas particulier

Faire fonctionner PyTorch ou TensorFlow sur une carte graphique demande la cohérence entre le pilote, la version de CUDA et la version du framework. C'est la source d'installation la plus pénible du domaine. Deux réponses raisonnables : utiliser Colab, où tout est déjà cohérent, ou utiliser une image Docker officielle fournie par l'éditeur.

L'ordre d'apprentissage recommandé

Pour finir, la séquence qui évite de se disperser :

  1. Python de base — quelques semaines suffisent.
  2. pandas — c'est là que se passera la majorité de votre temps réel.
  3. NumPy — la vectorisation et la notion de forme.
  4. scikit-learn — vos premiers vrais modèles, avec pipelines et validation.
  5. PyTorch — seulement quand vous en avez besoin, c'est-à-dire face à des images, du texte ou du son.
  6. Hugging Face — dès que vous touchez au texte, car partir d'un modèle pré-entraîné est presque toujours le bon départ.

Sauter directement à l'étape 5 est l'erreur la plus commune. Elle donne l'illusion d'avancer vite, et laisse un praticien incapable de préparer un jeu de données correctement.


En trois phrases

PyTorch est le choix par défaut en 2026 parce que la recherche, les tutoriels récents et l'écosystème Hugging Face le supposent, mais les concepts étant communs, le passage à TensorFlow est affaire de jours. Hugging Face a déplacé le point de départ : on commence désormais par chercher un modèle pré-entraîné plutôt que par entraîner de zéro. Un environnement virtuel par projet et un fichier de versions versionné ne sont pas des raffinements d'ingénieur, ce sont les deux seules choses qui garantissent que votre travail sera encore reproductible dans six mois.


SuiteLeçon 6 : récapitulatif et FAQ →