Le dépôt tensorflow/tensorflow est créé sur GitHub le 7 novembre 2015, à 1 h 19 du matin en temps universel. Deux jours plus tard, le lundi 9 novembre, Sundar Pichai, patron de Google depuis quelques semaines, signe un billet de blog au titre sage : « TensorFlow : un apprentissage automatique plus intelligent, pour tout le monde ». Ce logiciel, écrit-il, fait déjà tourner la reconnaissance vocale de l'application Google, les réponses automatiques de la messagerie Inbox et la recherche dans Google Photos ; il entraîne des réseaux de neurones jusqu'à cinq fois plus vite que le système précédent ; et, à partir de ce jour, il appartient à qui veut le prendre, sous licence Apache 2.0.
Nous espérons que la communauté de l'apprentissage automatique, des chercheurs aux ingénieurs en passant par les amateurs, pourra échanger des idées beaucoup plus vite, par du code qui fonctionne plutôt que par de simples articles de recherche.
Dans la foulée, Jeff Dean et Rajat Monga, les deux ingénieurs qui portent le projet, publient un billet plus technique. Une phrase y résume l'affaire : « La chose la plus importante à propos de TensorFlow, c'est qu'il est à vous. » Le livre blanc qui décrit l'architecture porte quarante signatures. Quarante.
Des tableaux de nombres qui coulent dans un graphe
Le nom dit le mécanisme. Un tenseur est un tableau de nombres à plusieurs dimensions : une photo en couleurs, c'est hauteur par largeur par trois canaux ; mille photos, c'est le même tableau avec une dimension de plus. Un programme TensorFlow décrit d'abord un graphe, des nœuds qui sont des opérations, reliés par des flèches le long desquelles les tenseurs circulent. D'où le « flow ». Le graphe est une recette écrite une fois ; elle s'exécute ensuite sur le processeur d'un téléphone, une carte graphique ou mille machines, sans y toucher.
Le second tour de force est caché dedans. Entraîner un réseau, c'est ajuster des millions de nombres pour que l'erreur baisse, et, pour savoir dans quel sens pousser chacun d'eux, il faut une dérivée pour chacun de ces nombres, qu'on appelle paramètres. TensorFlow les calcule tout seul en remontant le graphe à l'envers. L'idée n'est pas née à Mountain View. Theano, écrit à l'Université de Montréal dans le laboratoire de Yoshua Bengio, le fait depuis 2007 ; Torch, né en Suisse en 2001 et réécrit en Lua, est l'outil du laboratoire d'IA de Facebook. En 2015, la boîte à outils existe déjà. Ce qui manque, c'est un industriel qui la fasse tourner sur ses propres usines.
DistBelief, l'ancêtre qui ne sortait pas de Google
L'usine s'appelle Google Brain. Le projet démarre en 2011 chez Google X avec Jeff Dean, Greg Corrado et Andrew Ng ; son premier outil s'appelle DistBelief. En 2012, l'équipe fait regarder dix millions d'images tirées de YouTube à un réseau tournant sur 16 000 cœurs de processeur, et le réseau apprend seul à reconnaître les chats. DistBelief améliore aussi de 25 % la reconnaissance vocale de l'application Google. Mais il est cousu sur l'infrastructure interne, au point qu'il est presque impossible d'en partager le code à l'extérieur. Jeff Dean fait partie de l'équipe qui le réécrit. C'est cette réécriture, et pas l'ancêtre, que Google met sur GitHub.
Ce que Google donne, et ce que Google garde
La liste de ce qui sort le 9 novembre 2015 est courte : le code, les tutoriels, les exemples. Ne sortent pas : les données, les machines, les gens. La version publiée tourne sur une seule machine ; l'entraînement réparti sur des centaines de serveurs, celui qui sépare un étudiant de Google, est « l'une des fonctionnalités les plus demandées » depuis la sortie et n'arrive officiellement que le 13 avril 2016, avec la version 0.8. Entre-temps, le 24 mars, Google a annoncé Cloud Machine Learning, un service pour entraîner ses modèles sur l'infrastructure de Google « en utilisant la bibliothèque open source TensorFlow », devenue en quatre mois, précise le billet, le premier projet d'apprentissage automatique de GitHub.
Le 18 mai 2016, dans un billet signé Norm Jouppi, Google révèle qu'il fait tourner depuis plus d'un an une puce conçue pour ce logiciel, le Tensor Processing Unit, celle qui a fait jouer AlphaGo contre Lee Sedol deux mois plus tôt. Rendement par watt « d'un ordre de grandeur » supérieur, « l'équivalent de trois générations de la loi de Moore ». Ces puces ne se vendent pas. Un an plus tard, Google annonce leur location dans son cloud. Le logiciel est libre ; le moteur qui le fait tourner le mieux est à Mountain View.
Le calcul est simple. Un outil que tout le monde utilise devient un standard, et ce standard est écrit dans la langue des machines de Google. Les concurrents ont les leurs : Facebook avait ouvert ses modules Torch le 16 janvier 2015, Microsoft met CNTK sur GitHub le 25 janvier 2016, Amazon choisit MXNet en novembre 2016. Aucun n'a publié ses données.
Le concurrent plus simple arrive en janvier 2017
Le 18 janvier 2017, un lien récolte 447 votes sur Hacker News : « PyTorch, tenseurs et réseaux de neurones dynamiques en Python ». Une équipe du laboratoire d'IA de Facebook, Adam Paszke, Sam Gross, Soumith Chintala et Gregory Chanan, a réécrit Torch en Python en changeant une chose : le graphe. Dans TensorFlow première version, on décrit tout le graphe, puis on l'exécute, et entre les deux on ne voit rien. Dans PyTorch, le graphe se construit au fur et à mesure que le code s'exécute, ligne après ligne, comme n'importe quel programme Python. On peut mettre un point d'arrêt. On peut se tromper vite.
Les chercheurs votent avec leurs papiers. Horace He compte ceux des grandes conférences de 2019 : à CVPR, 280 en PyTorch contre 125 en TensorFlow ; à ACL et à NAACL, plus des trois quarts en PyTorch. Google réagit le 30 septembre 2019 avec TensorFlow 2.0, dont la nouveauté principale est « l'exécution immédiate par défaut » : le graphe construit en exécutant le code. Autrement dit, la méthode de PyTorch. La porte d'entrée officielle devient Keras, la surcouche du Français François Chollet, embauché par Google en 2015.
Google lui-même passe à autre chose
Le 4 décembre 2020, DeepMind explique dans un billet que JAX, une autre bibliothèque de Google, « a été largement adoptée par notre communauté de recherche au cours de l'année écoulée ». Le rapport technique de Gemini, en décembre 2023, tranche sans bruit : les modèles sont entraînés sur des TPU v4 et v5e, et c'est « le modèle de programmation à contrôleur unique de JAX et de Pathways » qui orchestre l'entraînement. Le modèle phare de Google n'est pas entraîné avec TensorFlow. Keras, la vitrine, en a tiré les conséquences : depuis sa version 3, en 2023, elle tourne indifféremment sur TensorFlow, JAX ou PyTorch.
Theano, l'outil de Montréal, avait fermé le premier. Le 28 septembre 2017, Yoshua Bengio annonce l'arrêt du développement, face aux outils concurrents que soutiennent de puissants acteurs industriels. Le laboratoire qui avait montré la voie n'avait pas les machines pour tenir la course.
Le code s'ouvre en un clic. Les machines, les données et les gens, non.
Ce qu'il en reste en 2026
Au 4 octobre 2026, le dépôt tensorflow/tensorflow affiche 200 691 étoiles sur GitHub, presque le double de PyTorch (103 735). Sur PyPI, l'index des paquets Python, les trente derniers jours racontent l'inverse : 11,7 millions de téléchargements pour tensorflow, 59,3 millions pour torch. Les étoiles mesurent le passé, les téléchargements ce que les gens installent ce mois-ci. TensorFlow sort encore des versions (la 2.21 date de mars 2026) et reste en production chez ceux qui n'ont aucune raison de réécrire ce qui marche.
Le mot aussi a bougé. En 2015, « open source » désigne du code à prendre, modifier et redistribuer. Le 28 octobre 2024, l'Open Source Initiative doit préciser que des poids de modèle, ces nombres une fois réglés, publiés seuls, n'en sont pas : la note de 2025 raconte ce débat.
Le 7 novembre 2015 à 1 h 19, quelqu'un chez Google a créé un dépôt. Dix ans plus tard, il porte 200 691 étoiles et le nom d'un outil que son propriétaire n'a pas choisi pour entraîner son propre modèle phare. L'outil a fait le tour du monde. Les machines n'ont pas bougé.