TensorFlow - TensorFlow

TensorFlow
TensorFlowLogo.svg
Développeur(s) Équipe Google Brain
Première version 9 novembre 2015 ; il y a 5 ans ( 2015-11-09 )
Version stable
2.5.0  Modifiez ceci sur Wikidata(13 mai 2021 ; il y a 3 mois ) / 14 mai 2021 ; il y a 3 mois ( 13 mai 2021 ) ( 2021-05-14 )
Dépôt github .com /tensorflow /tensorflow
Écrit en Python , C++ , CUDA
Plate-forme Linux , macOS , Windows , Android , JavaScript
Taper Bibliothèque d' apprentissage automatique
Licence Licence Apache 2.0
Site Internet www .tensorflow .org

TensorFlow est une bibliothèque de logiciels gratuits et open source pour l'apprentissage automatique et l' intelligence artificielle . Il peut être utilisé dans une gamme de tâches, mais se concentre particulièrement sur la formation et l' inférence des réseaux de neurones profonds .

Tensorflow est une bibliothèque mathématique symbolique basée sur le flux de données et la programmation différentiable . Il est utilisé à la fois pour la recherche et la production chez Google .

TensorFlow a été développé par l' équipe Google Brain pour une utilisation interne à Google . Il a été publié sous la licence Apache 2.0 en 2015.

Histoire

DistCroyance

À partir de 2011, Google Brain a conçu DistBelief en tant que système d' apprentissage automatique propriétaire basé sur des réseaux de neurones d' apprentissage en profondeur . Son utilisation s'est rapidement développée dans diverses sociétés d' Alphabet , tant dans la recherche que dans les applications commerciales. Google a chargé plusieurs informaticiens, dont Jeff Dean , de simplifier et de refactoriser la base de code de DistBelief en une bibliothèque d'applications plus rapide et plus robuste, qui est devenue TensorFlow. En 2009, l'équipe, dirigée par Geoffrey Hinton , avait mis en œuvre une rétropropagation généralisée et d'autres améliorations qui ont permis la génération de réseaux de neurones avec une précision nettement supérieure, par exemple une réduction de 25 % des erreurs de reconnaissance vocale .

TensorFlow

TensorFlow est le système de deuxième génération de Google Brain. La version 1.0.0 a été publiée le 11 février 2017. Alors que l' implémentation de référence s'exécute sur un seul appareil, TensorFlow peut s'exécuter sur plusieurs processeurs et GPU (avec des extensions CUDA et SYCL en option pour le calcul à usage général sur des unités de traitement graphique ). TensorFlow est disponible sur Linux 64 bits , macOS , Windows et les plates-formes informatiques mobiles, y compris Android et iOS .

Son architecture flexible permet le déploiement facile du calcul sur une variété de plates-formes (CPU, GPU, TPU ), et des ordinateurs de bureau aux clusters de serveurs en passant par les appareils mobiles et périphériques.

Les calculs TensorFlow sont exprimés sous forme de graphiques de flux de données avec état . Le nom TensorFlow dérive des opérations que ces réseaux de neurones effectuent sur des tableaux de données multidimensionnels, appelés tenseurs . Lors de la conférence Google I/O en juin 2016, Jeff Dean a déclaré que 1 500 référentiels sur GitHub mentionnaient TensorFlow, dont seulement 5 provenaient de Google.

En décembre 2017, les développeurs de Google, Cisco, RedHat, CoreOS et CaiCloud ont présenté Kubeflow lors d'une conférence. Kubeflow permet l'exploitation et le déploiement de TensorFlow sur Kubernetes .

En mars 2018, Google a annoncé la version 1.0 de TensorFlow.js pour l'apprentissage automatique en JavaScript .

En janvier 2019, Google a annoncé TensorFlow 2.0. Il est devenu officiellement disponible en septembre 2019.

En mai 2019, Google a annoncé TensorFlow Graphics pour un apprentissage approfondi en infographie.

Unité de traitement tensoriel (TPU)

En mai 2016, Google a annoncé son unité de traitement Tensor (TPU), un circuit intégré spécifique à une application (ASIC, une puce matérielle) spécialement conçu pour l'apprentissage automatique et adapté à TensorFlow. Un TPU est un accélérateur d'IA programmable conçu pour fournir un débit élevé d' arithmétique de faible précision (par exemple, 8 bits ) et orienté vers l'utilisation ou l'exécution de modèles plutôt que leur formation . Google a annoncé qu'ils utilisaient des TPU dans leurs centres de données depuis plus d'un an et qu'ils avaient trouvé qu'ils offraient un ordre de grandeur de performances par watt mieux optimisées pour l'apprentissage automatique.

En mai 2017, Google a annoncé la deuxième génération, ainsi que la disponibilité des TPU dans Google Compute Engine . Les TPU de deuxième génération offrent jusqu'à 180 téraflops de performances et, lorsqu'ils sont organisés en clusters de 64 TPU, fournissent jusqu'à 11,5 pétaflops.

En mai 2018, Google a annoncé les TPU de troisième génération offrant jusqu'à 420 téraflops de performances et 128 Go de mémoire à bande passante élevée (HBM). Les pods Cloud TPU v3 offrent plus de 100 pétaflops de performances et 32 To de HBM.

En février 2018, Google a annoncé qu'ils rendaient les TPU disponibles en version bêta sur la plate-forme Google Cloud .

Bord TPU

En juillet 2018, le Edge TPU a été annoncé. Edge TPU est la puce ASIC spécialement conçue par Google, conçue pour exécuter des modèles d'apprentissage automatique (ML) TensorFlow Lite sur de petits appareils informatiques clients tels que les smartphones, appelés edge computing .

TensorFlow Lite

En mai 2017, Google a annoncé une pile logicielle spécifiquement pour le développement mobile, TensorFlow Lite. En janvier 2019, l'équipe TensorFlow a publié un aperçu pour les développeurs du moteur d'inférence GPU mobile avec OpenGL ES 3.1 Compute Shaders sur les appareils Android et Metal Compute Shaders sur les appareils iOS. En mai 2019, Google a annoncé que leur TensorFlow Lite Micro (également connu sous le nom de TensorFlow Lite pour les microcontrôleurs) et uTensor d'ARM allaient fusionner.

TensorFlow Lite utilise FlatBuffers comme format de sérialisation des données pour les modèles de réseau, évitant le format Protocol Buffers utilisé par les modèles TensorFlow standard.

Noyau visuel de pixels (PVC)

En octobre 2017, Google a publié le Google Pixel 2 qui comportait son Pixel Visual Core (PVC), un processeur d' image , de vision et d' IA entièrement programmable pour les appareils mobiles. Le PVC prend en charge TensorFlow pour l'apprentissage automatique (et Halide pour le traitement d'images).

Applications

Google a officiellement publié RankBrain le 26 octobre 2015, soutenu par TensorFlow.

Google a également publié Colaboratory, qui est un environnement de bloc-notes TensorFlow Jupyter qui ne nécessite aucune configuration pour être utilisé.

Cours accéléré d'apprentissage automatique (MLCC)

Le 1er mars 2018, Google a publié son cours d'initiation au machine learning (MLCC). Conçu à l'origine pour aider les employés de Google à acquérir les bases pratiques de l'intelligence artificielle et de l'apprentissage automatique, Google a déployé ses ateliers TensorFlow gratuits dans plusieurs villes du monde avant de finalement diffuser le cours au public.

TensorFlow 2.0

Alors que la part de marché de TensorFlow parmi les articles de recherche diminuait au profit de PyTorch , l'équipe TensorFlow a annoncé la sortie d'une nouvelle version majeure de la bibliothèque en septembre 2019. TensorFlow 2.0 a introduit de nombreux changements, le plus important étant TensorFlow impatient, qui a modifié le schéma de différenciation du graphe de calcul statique au schéma "Define-by-Run" rendu populaire à l'origine par Chainer et plus tard PyTorch . Parmi les autres changements majeurs, citons la suppression des anciennes bibliothèques, la compatibilité croisée entre les modèles entraînés sur différentes versions de TensorFlow et des améliorations significatives des performances sur GPU.

Caractéristiques

TensorFlow fournit Python stable (pour la version 3.7 sur toutes les plateformes) et des API C  ; et sans garantie de compatibilité descendante API : C++ , Go , Java , JavaScript et Swift (archivé et le développement a cessé). Des packages tiers sont disponibles pour C# , Haskell , Julia , MATLAB , R , Scala , Rust , OCaml et Crystal .

« La prise en charge des nouveaux langages devrait être basée sur l'API C. Cependant, [..] toutes les fonctionnalités ne sont pas encore disponibles en C ». Certaines fonctionnalités supplémentaires sont fournies par l'API Python.

Applications

Photo originale (à gauche) et avec le style neuronal TensorFlow appliqué (à droite)

Parmi les applications pour lesquelles TensorFlow est la base, il y a un logiciel de sous-titrage d'images automatisé , tel que DeepDream .

Voir également

Les références

Bibliographie

Liens externes