Architecture TensorFlow - Les 10 principales fonctionnalités de l'architecture TensorFlow

Table des matières:

Anonim

Introduction à TensorFlow

Dans cet article, nous verrons un aperçu de l'architecture TensorFlow. TensorFlow est une bibliothèque multiplateforme et il existe des concepts communs comme les opérations, les sessions et les graphiques de calcul. TensorFlow Serving facilite le déploiement de nouveaux algorithmes et expériences tout en conservant la même architecture de base de données et les mêmes API.

Qu'est-ce que l'architecture Tensorflow?

Tensorflow est une bibliothèque d'apprentissage en profondeur couramment utilisée, qui est construite par l'équipe de cerveau de Google qui travaillait sur l'intelligence artificielle. Il a été développé pour pouvoir être utilisé sur plusieurs processeurs, GPU et peut également fonctionner sur des appareils mobiles et prend en charge différentes classes d'encapsuleur comme python, C ++ ou Java et Tensors qui sont des objets qui décrivent la relation linéaire entre les vecteurs, les scalaires et d'autres tenseurs. .

Les tenseurs ne sont que des tableaux multidimensionnels. Pour comprendre l'architecture et les fonctionnalités de TensorFlow, nous devons d'abord comprendre certains termes.

  1. Servables Tensorflow
  2. Versions utilisables
  3. Streams Servables
  4. Modèle Tensorflow
  5. Chargeurs Tensorflow
  6. Sources Tensorflow
  7. Tensorflow Manager
  8. Tensorflow Core
  9. La vie de servable
  10. Architecture de Batcher In Tensorflow

1. Servables Tensorflow

  • Les Servables Tensorflow sont des objets courants qui sont principalement utilisés pour effectuer des calculs. La taille du TensorFlow utilisable est très flexible. Les servables sont des unités centrales inachevées dans la portion TensorFlow.
  • Une unité utilisable peut contenir quelque chose comme elle peut contenir des tuples, des tables de recherche. Les objets utilisables peuvent être de tout type et de toute interface, en raison de ces fonctionnalités, il est très flexible et facile de faire des améliorations futures telles que les modes de fonctionnement asynchrones, les résultats de streaming et les API expérimentales.

2. Versions utilisables

  • Les versions utilisables sont utilisées pour gérer les versions de TensorFlow utilisables. Il peut gérer une ou plusieurs versions de Servables. Il peut aider à configurer les nouveaux algorithmes, gérer les poids et d'autres changements peuvent être effectués, les données peuvent être chargées.
  • Il peut également modifier et gérer des versions, activer plusieurs versions utilisables à la fois.

3. Flux utilisables

Il s'agit d'une collection de différentes versions de Servables. Il le stocke dans une séquence croissante de versions.

4. Modèles Tensorflow

  • Un modèle TensorFlow peut contenir un ou plusieurs servables TensorFlow. Il est principalement utilisé dans les tâches d'apprentissage automatique qui peuvent contenir plusieurs algorithmes contenant des pondérations différentes selon le modèle, les tables de recherche, les métriques et les incorporations de table.
  • Il peut être servi de différentes manières, de sorte qu'il existe différentes manières de servir la table de recherche.

5. Chargeurs Tensorflow

  • Le chargeur Tensorflow est une API qui gère le cycle de vie des serveurs TensorFlow. Il fournit une infrastructure commune pour certains des algorithmes d'apprentissage.
  • L'utilisation principale du chargeur TensorFlow est de charger et de décharger des Servables à l'aide d'API de chargeur normalisées.

6. Sources Tensorflow

  • Les sources fonctionnent comme un module d'extension. La source Tensorflow effectue la gestion de base de servable comme la recherche de servable, fournit servable sur demande.
  • Chaque référence peut fournir un ou plusieurs flux utilisables à la fois. Chaque source fournit une instance de chargeur pour gérer la version du flux. Et chaque flux servable est chargé sur la version basée.
  • La source a différents états qui peuvent être partagés avec différentes versions et à plusieurs Servables. Peut également gérer la mise à jour ou le changement entre les versions.

7. Gestionnaires Tensorflow

  • Le gestionnaire Tensorflow gère le cycle de vie de bout en bout des servables.
  • Chargement Servable, Servable Servable, Déchargement Servable.
  • Le gestionnaire obtient la réponse de toutes les sources utilisables et surveille également toutes les versions de celui-ci. Le gestionnaire peut également refuser ou reporter le téléchargement.
  • La fonction GetServableHandle () fournit une interface qui aide à gérer les choses managériales concernant les serveurs TensorFlow.

8. Tensorflow Core

Tensorflow Core contient:

  • Cycle de vie, métriques.
  • Le noyau de service Tensorflow prend les servables et les chargeurs comme un objet.

9. La vie d'un servable

L'ensemble de la procédure est expliqué sur la façon dont servable est utilisé et sur l'ensemble du cycle de vie de servable:

  • Source crée des chargeurs pour différentes versions utilisables. La demande du client au gestionnaire et au gestionnaire a envoyé la version souhaitée du chargeur, la charge et la renvoie au client.
  • Loader contient des métadonnées qui peuvent être utilisées pour charger les Servables. Le rappel est utilisé pour informer le gestionnaire des versions sources utilisables. Le gestionnaire suit une politique de version qui aide à configurer et à décider de l'action à entreprendre ensuite.
  • Le gestionnaire vérifie également la sécurité des chargeurs, s'il est sûr, alors seulement il donnera les ressources nécessaires au chargeur et donnera l'autorisation de charger la nouvelle version. Le gestionnaire fournit Divisible à la demande du client, ou il demandera explicitement une version spécifique ou peut demander directement la dernière version après que le gestionnaire ait renvoyé un descripteur pour accéder au servable.
  • Le gestionnaire dynamique gère les versions servables, applique la stratégie de version et décide que la version ou la dernière version doit être chargée. Le gestionnaire dynamique alloue de la mémoire au chargeur. Loader lance le graphique TensorFlow et met à jour les poids du graphique TensorFlow.
  • Lorsqu'un client demande le servable et vérifie la version qu'il demande, le gestionnaire dynamique renvoie ce gestionnaire avec la version demandée de Servable.

10. Batcher dans l'architecture Tensorflow

  • Le traitement par lots est une procédure de traitement de plusieurs demandes en une seule demande.
  • En utilisant cette procédure, nous pouvons réduire le coût des inférences, en particulier l'accélération du matériel comme le GPU, le TPU.
  • Tensorflow servable contient un widget Batcher, en utilisant ce widget, les clients peuvent facilement regrouper leurs multiples demandes d'inférence spécifiques en une seule demande de lot. Ils peuvent donc exécuter cette procédure efficacement.

Conclusion - Architecture TensorFlow

L'architecture Tensorflow représente un système décentralisé. Il montre comment les différents composants fonctionnent et remplissent leurs rôles dans un système décentralisé. Servir à la demande du client et utiliser le batching de multiples opérations parallèles. Certaines des meilleures fonctionnalités de l'architecture TensorFlow sont les opérations par lots, l'accélération matérielle et les options de gestionnaire dynamique, les chargeurs, les sources et les flux servables.

Articles recommandés

Ceci est un guide de l'architecture TensorFlow. Nous discutons ici de ce qu'est TensorFlow et de certaines des meilleures fonctionnalités de l'architecture TensorFlow. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Introduction à Tensorflow avec caractéristique
  2. TensorFlow vs Spark | Comparaison des 5 meilleurs
  3. Theano vs Tensorflow - Principales différences
  4. Alternatives TensorFlow | Top 11