Google et Nvidia ont uni leurs forces pour apporter une version optimisée tensorflow 1.7

Lei Feng réseau de presse AI Yanxishe, il y a quelques jours, Google et NVIDIA annonce la NVIDIA TensorRT intégré dans tensorflow 1.7. Dans Google blog des développeurs, après avoir introduit la performance de la coopération et l'intégration des informations détaillées, Lei Feng réseau compilé AI Yanxishe résumées comme suit:

TensorRT est un apprentissage en profondeur peut être utilisé pour optimiser le modèle de raisonnement, et créer une bibliothèque pour l'environnement d'exploitation de l'environnement de production de GPU. Il est optimisé tensorflow FP16 virgule flottante et entier INT8, et peut choisir automatiquement le noyau pour une plate-forme spécifique afin de maximiser le débit et réduire le délai maximum pendant le raisonnement du GPU. Le nouveau flux de travail intégré simplifie les étapes pour utiliser TensorRT dans tensorflow tout en tensorflow a atteint un niveau de classe mondiale de performance.

Testé sur le noyau Volta NVIDIA Tensor, le TensorRT intégré tensorflow exécuté rapport ResNet-50 ne soit pas intégré vitesse d'exécution TensorRT tensorflow a augmenté de 8 fois.

Optimisation de la figure tensorflow sous-processus

Dans le tensorflow 1,7, TensorRT être utilisé pour optimiser la sous-vue et tensorflow exécuter la partie restante non optimisée. Cette approche permet aux développeurs de non seulement être en mesure d'utiliser de nombreuses fonctionnalités tensorflow pour construire rapidement des modèles, mais peut aussi utiliser l'accès TensorRT aux capacités d'optimisation puissants dans la mise en uvre du raisonnement. Si vous avez essayé d'utiliser TensorRT avant que le modèle de tensorflow, vous devez savoir que pour utiliser une couche tensorflow non pris en charge, vous devez importer manuellement, dans certains cas, peut prendre beaucoup de temps.

Du point de vue des flux de travail, les développeurs peuvent utiliser pour optimiser chaque sous TensorRT tensorflow de la figure.

Dans le processus d'inférence, tensorflow première mise en uvre de la carte tous les domaines de soutien, après avoir appelé TensorRT pour exécuter ces noeuds par optimisés TensorRT. Par exemple, si vous êtes sur la figure, comprenant A, B, C trois sections, dans lequel le bloc B est optimisée TensorRT, B est remplacée par un noeud. Ensuite, le processus de raisonnement, tensorflow la première mise en uvre de A, après avoir appelé TensorRT exécution B, C. dernière exécution tensorflow

Cela permet d'optimiser l'tensorflow API TensorRT nouvellement ajoutée pour geler l'image tensorflow montre l'entrée, est optimisé pour le sous-graphe, et enfin optimisé raisonnement sous-graphe envoyé tensorflow avant.

Voici un exemple extrait de code:

# La mémoire de réserve pour le moteur d'inférence TensorRT

gpu_options = tf.GPUOptions (per_process_gpu_memory_fraction = number_between_0_and_1)

...

trt_graph = trt.create_inference_graph (

input_graph_def = frozen_graph_def,

sorties = output_node_name,

max_batch_size = batch_size,

max_workspace_size_bytes = workspace_size,

precision_mode = précision) # Get Optimized graphique

Ce paramètre définit le rapport per_process_gpu_memory_fraction tensorflow permis mémoire GPU, la mémoire restante est allouée à TensorRT. Ce paramètre doit être mis en place lorsque le processus tensorflow-TensorRT a commencé. Par exemple, per_process_gpu_fraction = 0,67, puis 67% est affectée à la tensorflow de mémoire, les 33% restant est affecté à moteur TensorRT.

Create_inference_graph fonction de congélation en direct tensorflow figure comme entrée et retourne un TensorRT de noeud optimisée grâce à la Fig. Nous examinons les paramètres de cette fonction:

  • Input_graph_def: live gel carte tensorflow

  • Sorties: liste de noms noeud chaîne de sortie, tels que:

  • Max_batch_size: nombre entier, l'entrée de la taille du lot, par exemple, 16

  • Max_workspace_size_bytes: nombre entier, peut être affecté à TensorRT maximale taille de la mémoire GPU

  • Precision_mode: string, valeur facultative "FP32", "FP16", "INT8"

Par exemple, si le GPU dispose d'une mémoire de 12 Go, vous voulez moteur TensorRT alloue 4 Go de mémoire, vous devez définir per_process_gpu_memory_fraction à (12-4) /12=0.67,max_workspace_size_bytes=4,000,000,000.

Essayons de nouvelles applications de l'API sur ResNet-50, jetez un oeil au modèle optimisé dans les regards TensorBoard est quoi. L'image de gauche est optimisée sans TensorRT ResNet-50, le côté droit est optimisée. Dans ce cadre, la plus optimisée figure TensorRT, et remplacé par un noeud unique (partie a mis en évidence la figure).

Après INT8 raisonnement l'optimisation des performances

TensorRT compatible avec simple précision (FP32) et demi-précision (FP16) modèle formé (qui peut être quantifiée comme INT8), tout en réduisant la précision des résultats de la précision a diminué aussi bas que possible. modèle INT8 capable de calculer plus rapidement, alors que la demande de bande passante sera réduite, mais parce que la gamme dynamique disponible est réduite, ce qui est juste sur les poids du réseau de neurones et des moyens actifs présente un grand défi.

Pour résoudre ce problème, TensorRT à l'aide d'un processus d'étalonnage, afin de minimiser la perte d'informations FP32 approximée au réseau lorsque la représentation entière 8 bits. Après optimisation à l'aide TensorRT figure tensorflow, la commande suivante peut être transmise à TensorRT étalonnage figure, comme suit:

trt_graph = trt.calib_graph_to_infer_graph (calibGraph)

En plus du réseau inférence processus n'a pas changé. La sortie de cette étape est un diagramme de gel peut être exécuté tensorflow.

Tenseur automatiquement noyau sur GPU NVIDIA Volta

modèle d'inférence de tensorflow demi-précision par Tensor TensorRT sur le noyau GPU NVIDIA Volta, il est possible de fournir huit fois la précision du modèle par rapport à un seul débit. Par rapport à la plus précise FP32 ou FP64, les données de demi-précision (FP16) peut réduire la quantité de mémoire du réseau de neurones, ce qui permet aux développeurs de déployer plus grande et l'apprentissage du réseau de neurones, et par rapport à FP32 et FP64 FP16 plus moins de temps de transmission.

Si chaque exécution noyau Tensor est D = A * B + C, où A et B sont des demi-précision 4 * 4 matrice, D, et C est une simple précision ou demi-précision 4 * 4 matrice, puis le cas V100 de base Tensor le rendement de crête est une double précision (FP64) 10 fois le rendement de simple précision (FP32) 4 performances fois.

Google a publié un tensorflow 1.7, nous travaillerons plus étroitement avec NVIDIA. Nous espérons que cette nouvelle solution peut atteindre tout en offrant les meilleures performances, en gardant la facilité de tensorflow d'utilisation et flexibilité. Avec TensorRT soutenir un nombre croissant de structure du réseau, tant que vous mettez à jour, vous pouvez profiter de ces avantages sans avoir à réécrire le code.

Vous pouvez utiliser le pip installation standard mises à jour de tensorflow 1.7:

pip installer tensorflow-gpu r1.7

instructions d'installation détaillées sont disponibles sur:

https://github.com/tensorflow/tensorflow/tree/r1.7/tensorflow/contrib/tensorrt

via: Google Développer Blog

Lei Feng réseau de compilateur de finition AI Yanxishe.

Le meilleur frère et soeur pleuré comédie « Sortez mon frère loin, » Wendy Zhang révélant l'équipage parachuté Tianjin Daily
Précédent
Photographie ultime phare de plaisir visuel force micro-caméra unique de recommandation
Prochain
Yi EV mobile 460, deux interprétation comparative Yi Ruize 4505e vigueur Panier
Qin Shuo cercle public amis écriture classe, enfin est venu oh!
« Tout au long de blocage 2 » préchargés, les heures d'ouverture et de l'espace disque requis libéré
« New Wulong Yuan » première « rire d'inscription ouverte, » larmes Ng Man Tat tête pour regarder en arrière de 45 ans de l'histoire du cinéma
Soutenu par le plus grand système logistique de la nation, a révélé que la production de l'année recrue sera véhicules de livraison sans pilote
Yan est la valeur élevée de la puissance d'envoyer de lumière luxe Fuji X-T100
Ren a répondu tout, il y a 18 ans, il pensait à la façon dont le système pour l'hiver
L'intelligence artificielle code mise en page TCL a mis en place des centres de R & D en Europe
Achat? "Devil May Cry 5"
Averti des personnes âgées: en 2019 le marché immobilier, les spéculateurs immobiliers ne font pas
Volvo S90 et Cadillac CT6 par rapport à qui est mieux?
La nouvelle mise à jour Fuji X-T3 puissance extraordinaire pour vous donner l'expérience de la photographie professionnelle