Profiler votre modèle sur des VM Cloud TPU

Le profilage vous permet d'optimiser les performances d'entraînement de votre modèle sur Cloud TPU. Vous utilisez TensorBoard, Plug-in Cloud TPU TensorBoard pour profiler votre modèle.

Pour en savoir plus sur l'utilisation de TensorBoard avec l'un des frameworks compatibles, consultez les documents suivants:

Conditions préalables au profilage d'un script d'entraînement

Avant d'utiliser les outils de profilage TPU, vous devez:

  1. Démarrer une session d'entraînement de modèle

    1. Configurer un TPU v4-8 pour entraîner un modèle. La procédure de profilage décrite dans ce document utilise un modèle ResNet, mais vous pouvez en utiliser un autre, à condition qu'il entraîne sur un TPU v4.
    2. Dans votre VM TPU, ajoutez une ligne pour démarrer le serveur du profileur au script d'entraînement.

      Pour l'entraînement ResNET, le script d'entraînement se trouve à l'emplacement suivant: /usr/share/tpu/tensorflow/resnet50_keras/resnet50.py

      Insérez les lignes en surbrillance dans resnet50.py. En haut du fichier, ajoutez l'importation suivante:

      import tensorflow.compat.v2 as tf2
      

      Juste avant que les scripts ne lancent la boucle d'entraînement, ajoutez le code ligne en surbrillance:

      if name == 'main':
       tf.logging.set_verbosity(tf.logging.INFO)
       tf2.profiler.experimental.server.start(6000)
       app.run(main)
      

      Le serveur de profileur TensorFlow démarre sur votre VM TPU lorsque vous exécuter le script.

    3. Démarrez l'entraînement du modèle.

      Exécutez votre script d'entraînement et attendez que le résultat s'affiche pour indiquer l'entraînement actif du modèle. La sortie dépend sur votre code et votre modèle. Recherchez un résultat semblable à Epoch 1/100. Vous pouvez également accéder à la page "Cloud TPU" dans la console Google Cloud, sélectionnez votre TPU et afficher le graphique d'utilisation du processeur. Alors que le graphique d'utilisation du processeur n'indique pas l'utilisation du TPU, que le TPU entraîne votre modèle.

Commencer à profiler l'entraînement du modèle

Pendant l'entraînement du modèle, ouvrez une fenêtre de terminal distincte ou Cloud Shell. Procédez comme suit pour commencer à profiler l'entraînement du modèle.

  1. Dans la nouvelle fenêtre ou l'interface système, connectez-vous à votre VM TPU à l'aide du transfert de port.

    gcloud compute tpus tpu-vm ssh your-vm --zone=us-central2-b --ssh-flag="-4 -L 9001:localhost:9001"
    

    Le transfert de port permet à votre navigateur local de communiquer avec TensorBoard qui s'exécute sur votre VM TPU.

  2. Installez la configuration requise pour TensorFlow.

    TensorBoard est installé par défaut sur votre VM TPU. Toi vous pouvez également installer TensorFlow manuellement. Dans tous les cas, des dépendances supplémentaires peuvent être nécessaires. Installer ces sur votre VM TPU en exécutant la commande suivante:

    pip3 install -r /usr/share/tpu/models/official/requirements.txt
    
  3. Installez le plug-in Cloud TPU TensorBoard.

    À partir de la VM TPU, exécutez les commandes suivantes:

     pip3 install --upgrade "cloud-tpu-profiler>=2.3.0"
     pip3 install tensorflow
     pip3 install tensorboard_plugin_profile
    
  4. Démarrer le serveur TensorBoard

    Exécuter TensorBoard et créer un répertoire de journal (logdir) sur la VM TPU où TensorBoard peut écrire des données de profilage. Spécifiez le paramètre répertoire de journaux à l'aide de l'option --logdir. Exemple :

    mkdir log-directory
    TPU_LOAD_LIBRARY=0 tensorboard --logdir log-directory --port 9001
    

TensorBoard démarre un serveur Web et affiche son URL:

Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.3.0 at http://localhost:9001 (Press CTRL+C to quit)

Ouvrez un navigateur Web et accédez à l'URL affichée dans le résultat de TensorBoard. Sélectionner Profil dans le menu déroulant situé en haut à droite de la page TensorBoard. La liste des outils de profilage disponibles s'affiche dans le menu déroulant tools (Outils). dans la barre latérale gauche.

image

Capturer un profil sur des VM TPU

  1. Sélectionnez le bouton CAPTURE PROFILE (CAPTURE LE PROFIL).
  2. Sélectionnez la case d'option Adresse IP.
  3. Saisissez HOSTNAME:6000 dans le champ Profile Service URL.
  4. Sélectionnez le bouton CAPTURE (CAPTURE).

image

Afficher des données de profil avec TensorBoard

Une fois que vous avez capturé un profil, TensorBoard affiche la page overview_page. La liste des outils de profilage que vous pouvez utiliser s'affiche dans le volet de gauche.

image

Profil

L'onglet Profil s'affiche une fois que vous avez capturé des données de modèle. Toi vous devrez peut-être cliquer sur le bouton d'actualisation TensorBoard. Une fois les données disponibles, cliquez sur l'onglet Profil. présente une sélection d'outils pour faciliter l'analyse des performances. Vous pouvez utilisez l'un des outils suivants pour profiler votre modèle.

Page de présentation du profil

La page de présentation (overview_page), disponible sur la page Profil, fournit un une vue globale des performances de votre modèle lors d'une exécution de capture. La page affiche une vue d'ensemble agrégée de tous vos TPU et une vue d'ensemble l'analyse du pipeline d'entrée. Il existe une option permettant de sélectionner des TPU individuels dans le menu déroulant Host (Hôte).

La page affiche les données dans les panneaux suivants :

image

  • Performance summary (Résumé des performances)

    • Utilisation de FLOPS : pourcentage d'utilisation des unités matricielles du TPU
  • Les dix principales opérations TensorFlow sur TPU Opérations TensorFlow qui ont pris le plus de temps:

    Chaque ligne indique le temps libre d'une opération (en pourcentage du temps nécessaire par toutes les opérations), la durée cumulée, la catégorie, le nom et le taux de FLOPS. atteint.

  • Run Environment (Environnement d'exécution)

    • Le nombre d'hôtes utilisés
    • Type de TPU utilisé
    • Nombre de cœurs de TPU

Analyseur du pipeline d'entrée

L'analyseur du pipeline d'entrée fournit des insights sur les résultats de vos performances. L'outil vous indique immédiatement si votre programme est subordonné aux entrées via l'analyse de l'appareil et de l'hôte pour déboguer le pipeline crée des goulots d'étranglement.

Consultez les conseils en matière de performances du pipeline d'entrée pour obtenir des informations plus détaillées sur leur optimisation.

Pipeline d'entrée

Lorsqu'un programme TensorFlow lit des données à partir d'un fichier, le processus de lecture divisé en plusieurs étapes de traitement des données connectées en série. La sortie d'un est l'entrée de la suivante. Ce système de lecture se nomme pipeline d'entrée.

Pour lire des enregistrements à partir de fichiers, un pipeline type comprend les étapes suivantes :

  1. Lecture des fichiers
  2. Prétraitement des fichiers (facultatif)
  3. Transfert des fichiers de la machine hôte vers l'appareil

Un pipeline d'entrée inefficace peut considérablement ralentir votre application. Une application est considérée comme subordonnée aux entrées lorsqu'elle passe une part importante de son temps dans le pipeline d'entrée. Utilisez l'analyseur du pipeline d'entrée pour comprendre où le pipeline d'entrée est inefficace.

Tableau de bord du pipeline d'entrée

Pour ouvrir l'analyseur du pipeline d'entrée, sélectionnez Profile (Profil), puis sélectionnez input_pipeline_analyzer dans la liste déroulante Outils.

Le tableau de bord affiche les détails de l'analyse côté appareil et côté hôte.

Analyse côté appareil : affiche des informations sur les temps de pass sur l'appareil.

  • Statistiques Durée des pas de l'appareil
  • % du temps d'attente des pas sur l'appareil

Analyse côté hôte

Cette section présente les détails de l'analyse côté hôte, répartis dans plusieurs catégories:

  • Mise en file d'attente des données à transférer sur l'appareil. Temps passé à placer des données dans une file d'attente d'alimentation avant de les transférer sur l'appareil.
  • Prétraitement des données : temps consacré aux opérations de prétraitement, telles que le prétraitement des images. la décompression.
  • Lire des données à l'avance à partir de fichiers Temps consacré à la lecture des fichiers, dont la mise en cache, le préchargement et l'entrelacement.
  • Lecture de données à partir de fichiers à la demande Temps consacré à la lecture des données de fichiers sans mise en cache, préchargement ni entrelacement.
  • Lecture ou traitement d'autres données Temps consacré aux autres opérations liées aux entrées qui n'utilisent pas tf.data.

image

Afficher les statistiques de chaque opération de saisie et de ses catégories réparties par temps d'exécution, développez la section Show Input Op statistics.

Une table de données source de ce type s'affiche :

image

Chaque entrée de la table contient les informations suivantes :

  1. Input Op (Opération d'entrée) indique le nom de l'opération d'entrée TensorFlow.
  2. Nombre Affiche le nombre total d'instances de l'opération exécutées. pendant la période de profilage.
  3. Total Time (in ms) [Temps total (en ms)] : indique la somme totale du temps passé sur chacune des les instances d'opération.
  4. Total Time % (Temps total en %) Affiche le temps total consacré à une opération sous la forme d'une fraction de le temps total consacré au traitement des entrées.
  5. Temps propre total (en ms) indique le temps cumulé sur toutes les instances de la fonction. Le temps libre mesure le temps passé dans le corps de la fonction, à l'exclusion du temps passé dans les fonctions qu'elle appelle. Par exemple, Iterator::PaddedBatch::Filter::ForeverRepeat::Map est appelé par Iterator::PaddedBatch::Filter, son total le temps libre est exclu du temps libre total de ce dernier.
  6. Total du temps libre (%) : indique le temps libre total sous forme de fraction du temps total. le temps consacré au traitement des entrées.
  7. Catégorie : indique la catégorie de traitement de l'opération d'entrée.

Profil d'opération

Le profil d'opération est un outil Cloud TPU qui affiche les statistiques de performances des opérations XLA exécutées au cours d'une période de profilage. Le profil d'opération affiche les éléments suivants:

  • Le degré d'utilisation de la ressource Cloud TPU par l'application, sous la forme d'un pourcentage du temps consacré aux opérations par catégorie et de l'utilisation des FLOPS TPU.
  • Les opérations les plus longues (qui constituent des cibles potentielles d'optimisation).
  • Des détails sur les opérations individuelles, y compris la forme, le remplissage et les expressions utilisant ces opérations.

Vous pouvez utiliser le profil d'opération pour trouver des cibles à optimiser. Par exemple, vous pouvez utiliser un profil d'opération pour identifier les opérations XLA dont le délai d'exécution est le plus long et le nombre de FLOPS TPU qu'ils consomment.

Utiliser un profil d'opération

L'outil de profil d'opération contient des statistiques de performances des opérations XLA. Vous pouvez Affichez les données de profil d'opération dans TensorBoard en cliquant sur l'onglet Profile (Profil) au niveau en haut de l'écran, puis en sélectionnant op_profile dans le menu Tools (Outils). liste déroulante. Voici ce qui s'affiche :

image

  1. La section Présentation présente l'utilisation de Cloud TPU et fournit des suggestions d'optimisation.
  2. Panneau de configuration : contient les commandes qui vous permettent de définir le nombre les opérations affichées dans le tableau, celles qui sont affichées et comment elles sont triées.
  3. Table d'opérations Répertorie les principales opérations TensorFlow associées aux opérations XLA. Ces opérations sont triées en fonction du pourcentage d'utilisation de Cloud TPU.
  4. Cartes de détails de l'opération : affiche des informations sur les opérations. qui apparaissent lorsque vous pointez vers une opération dans la table. Ces détails incluent : l'utilisation des FLOPS, l'expression dans laquelle l'opération est utilisée et la disposition de l'opération (ajustement).

Table d'opérations XLA

Le tableau des opérations liste les catégories d'opérations XLA par ordre décroissant pourcentage d'utilisation de Cloud TPU. Le tableau présente les le pourcentage de temps nécessaire, le nom de la catégorie d'opération, opération TensorFlow associée le nom et le pourcentage d'utilisation des FLOPS pour la catégorie. Pour afficher (ou masquer) les 10 opérations XLA les plus longues pour une catégorie, cliquez sur l'icône à côté du nom de la catégorie dans le tableau.

image

  1. Temps Affiche le pourcentage total de temps passé par tous les les opérations de cette catégorie. Vous pouvez cliquer pour développer l'entrée et voir la répartition du temps passé par opération.
  2. Top 10 des opérations : bouton situé à côté du nom d'une catégorie qui affiche ou masque haut dix opérations chronophages dans la catégorie. Si une opération de fusion s'affiche dans la liste des opérations, vous pouvez la développer pour afficher la non-fusion, en fonction des éléments qu'elle contient.
  3. TensorFlow Op (Opération TensorFlow) indique le nom de l'opération TensorFlow associé à l'opération XLA.
  4. FLOPS : affiche l'utilisation des FLOPS, qui correspond au nombre mesuré de FLOPS. Nombre de FLOPS exprimé en pourcentage du pic de FLOPS Cloud TPU. Plus le pourcentage d'utilisation de FLOPS est élevé, plus les opérations sont rapides. Les cellules de cette colonne incluent un code couleur : vert en cas d'utilisation élevée des FLOPS (bonne) et rouge en cas de faible utilisation des FLOPS (mauvaise).

Cartes de détails de l'opération

Lorsque vous sélectionnez une entrée du tableau, une fiche apparaît des détails sur l'opération XLA ou la catégorie d'opération. Une carte type se présente comme suit :

image

  • Nom et Catégorie : affiche le nom et la catégorie de l'opération XLA en surbrillance.
  • Utilisation des FLOPS : affiche l'utilisation des FLOPS sous la forme d'un pourcentage du total FLOPS possible.
  • Expression : affiche la XLA d'entraînement contenant l'opération.
  • Memory Utilization (Utilisation de la mémoire) : affiche le pourcentage d'utilisation maximale de la mémoire par votre programme.
  • Layout (Opérations de convolution uniquement) Affiche la forme et la disposition d'un Tensor, y compris une description de toute marge intérieure effectuée par le compilateur XLA.

Interpréter les résultats

Pour les opérations de convolution, une faible utilisation des FLOPS TPU peut être due à pour les deux raisons suivantes:

  • Remplissage (les unités matricielles sont partiellement utilisées)
  • opération de convolution est liée à la mémoire

Cette section donne une interprétation de certaines métriques de performances d'un modèle avec une faible utilisation du FLOP. Dans cet exemple, nous utilisons la fusion et la convolution de la sortie. dominait le temps d'exécution. De nombreuses opérations vectorielles ou scalaires utilisaient peu le FLOP.

Une stratégie d'optimisation pour ce type de profil consiste à transformer les opérations vectorielles ou scalaires en opérations de convolution.

Dans l'exemple suivant, %convolution.399 affiche une utilisation des FLOPS et de la mémoire inférieure à celle de %convolution.340 dans l'exemple précédent.

image

Dans cet exemple, la taille de lot est complétée jusqu'à 128, la taille de la caractéristique est complétée à 8. Dans ce cas, seuls 5% de la matrice les unités de mesure sont utilisées efficacement. L'utilisation est calculée comme suit : (((batch_time * num_of_features) / lage_marge_size ) / nombre_de_cœurs). Comparez les FLOPS de cet exemple à la fonction %convolution.340 de la qui n'utilise pas de marge intérieure.

Lecteur de traces

Le lecteur de traces est un outil d'analyse des performances Cloud TPU disponible sur la page Profil. Comme il utilise le lecteur de profilage d'événements de trace Chrome, il ne fonctionne que dans le navigateur Chrome.

Le lecteur de traces affiche une chronologie indiquant :

  • La durée des opérations exécutées par TensorFlow du modèle de ML.
  • la partie du système (TPU ou machine hôte) qui a exécuté une opération. Généralement, la machine hôte exécute des opérations d'alimentation, qui prétraitent les données d'entraînement et les transfère au TPU, tandis que ce dernier exécute l'entraînement réel du modèle.

Le lecteur de traces vous permet d'identifier les problèmes de performances dans votre modèle, puis de prendre des mesures pour les résoudre. Par exemple, de manière générale, vous pouvez identifier si l'entraînement du modèle ou de l'alimentation prend le plus de temps. Percer vous pouvez identifier les opérations TensorFlow le plus long à exécuter.

Le lecteur de traces est limité à un million d'événements par Cloud TPU. Si vous devez évaluer davantage d'événements, utilisez le lecteur de traces en flux continu. à la place.

Interface du lecteur de traces

Pour ouvrir le lecteur de traces, accédez à TensorBoard, cliquez sur l'onglet Profile (Profil) au niveau en haut de l'écran, puis sélectionnez trace_viewer dans le menu déroulant Outils. Le lecteur affiche l'exécution la plus récente :

image

Cet écran contient les éléments principaux suivants (identifiés par des numéros dans le capture d'écran précédente):

  1. Le menu déroulant Courses contient toutes les exécutions pour lesquelles vous avez des informations de trace capturées. La vue par défaut est la vue mais vous pouvez ouvrir le menu déroulant pour en sélectionner une autre.
  2. Menu déroulant Tools (Outils) qui sélectionne différents outils de profilage.
  3. Liste déroulante "Host" (Hôtes) : permet de sélectionner un hôte contenant un Cloud TPU. défini.
  4. Le volet de chronologie présente les opérations que Cloud TPU et le sur une machine hôte exécutée au fil du temps.
  5. Le Volet de détails affiche des informations supplémentaires sur les opérations. sélectionné dans le volet de chronologie.

Examinez de plus près le volet de chronologie :

image

Ce volet contient les éléments suivants :

  1. La barre supérieure contient plusieurs commandes auxiliaires.
  2. Axe de temps : indique le temps par rapport au début de la trace.
  3. Libellés de section et de piste. Chaque section contient plusieurs pistes. un triangle à gauche sur lequel vous pouvez cliquer pour développer ou réduire . Il y a une section pour chaque élément de traitement du système.
  4. Le sélecteur d'outils contient divers outils permettant d'interagir avec lecteur de traces.
  5. Événements. Affiche la durée d'exécution d'une opération. la durée des méta-événements, tels que les étapes d'entraînement.
  6. Barre d'onglets verticale : cette barre n'est pas utile pour Cloud TPU. Cette barre fait partie de l'outil de lecteur de traces à usage général fourni par Chrome utilisé pour différentes tâches d'analyse des performances.

Sections et pistes

Le lecteur de traces comporte les sections suivantes :

  • Une section pour chaque nœud TPU, étiquetée avec le numéro de la puce TPU et le cœur de TPU dans la puce (par exemple, "Puce 2: Cœur de TPU 1"). Chaque section de nœud TPU contient les pistes suivantes :
    • Étape indique la durée des étapes d'entraînement qui ont été exécutés sur le TPU.
    • TensorFlow Ops (Opérations TensorFlow) : affiche les opérations TensorFlow exécutées sur le TPU.
    • XLA Ops (Opérations XLA) montre XLA exécutées sur le TPU. (Chaque opération est traduite en une ou plusieurs opérations XLA. Le compilateur XLA traduit les opérations XLA en code qui s'exécute sur le TPU.)
  • Une section pour les threads s'exécutant sur le processeur hôte intitulé "Threads hôtes". La section contient une piste pour chaque thread du processeur. Remarque : Vous pouvez ignorer les informations affichées à côté des étiquettes de section.

Sélecteur d'outils de chronologie

Vous pouvez interagir avec la vue de chronologie à l'aide du sélecteur d'outils de chronologie inclus dans TensorBoard. Cliquez sur un outil de chronologie pour l'activer et le sélectionner. Pour déplacer le sélecteur d'outils de chronologie, cliquez dans la zone en pointillés en haut, puis faites-le glisser à l'emplacement souhaité.

Utilisez les outils de chronologie comme suit :

Outil de sélection
cliquez sur un événement pour le sélectionner ou faites-le glisser pour sélectionner plusieurs événements. Des informations supplémentaires sur les événements sélectionnés (nom, heure de début et durée) s'affichent dans le volet de détails.

Outil de panorama
Faites glisser pour effectuer un panoramique de la chronologie horizontalement et verticalement.

Outil de zoom
Faites glisser vers le haut pour effectuer un zoom avant ou vers le bas pour effectuer un zoom arrière le long de l'axe horizontal (temps). La position horizontale du curseur de la souris détermine le centre autour duquel le zoom est effectué.

Remarque:Si l'outil de zoom reste actif lorsque vous relâchez le bouton bouton de la souris, cliquez sur la vue chronologique pour désactiver l'outil de zoom.

Outil de synchronisation
Faites glisser horizontalement pour marquer un intervalle de temps. Sa longueur apparaît sur l'axe de temps. Pour ajuster l'intervalle, faites glisser ses extrémités. Pour l'effacer, cliquez n'importe où dans la vue de chronologie.

Si vous sélectionnez un autre outil, l'intervalle reste marqué.

Lecteur de mémoire

Le lecteur de mémoire vous permet de visualiser les pics d'utilisation de la mémoire et les tendances d'utilisation de la mémoire pour votre programme.

L'interface utilisateur du lecteur de mémoire se présente comme suit:

image

  1. Host (Menu déroulant) Host (Hôte) sélectionne un hôte TPU et l'optimiseur de haut niveau XLA (HLO) à visualiser.
  2. Présentation de la mémoire : affiche le pic d'allocation de mémoire et la taille sans marge intérieure.
  3. Graphique de l'espace de travail : affiche le pic d'utilisation de la mémoire et un tracé de l'utilisation de la mémoire. pour votre programme. Pointer vers un tampon dans l'un des tampons graphiques pour afficher des informations supplémentaires dans la carte d'allocation de tampon.
  4. Graphiques de tampon : deux graphiques qui affichent l'allocation de tampon en cas de pic de mémoire sur l'utilisation de l'IA générative. Pointez sur un tampon dans l'un des graphiques des tampons pour afficher dans la fiche "Informations sur la mémoire tampon".
  5. Carte de détails d'allocation de tampon : affiche les détails d'allocation d'un tampon.

Panneau d'informations générales sur la mémoire

Le panneau d'informations générales sur la mémoire (en haut) affiche le nom du module et le pic d'allocation de mémoire défini lorsque la taille totale d'allocation du tampon atteint son maximum. La taille maximale d'allocation sans remplissage est également indiquée à titre de comparaison.

image

Graphique de l'espace de travail

Ce graphique affiche le pic d'utilisation de la mémoire et un graphique des tendances d'utilisation de la mémoire pour votre programme. La ligne verticale indique le pic d'utilisation de la mémoire pour le programme. Ce des graphiques montrent si votre programme peut tenir dans l'espace mémoire mondial disponible.

image

Chaque point du graphique représente un "point du programme" dans le programme HLO de XLA. La vous montre comment l'utilisation de la mémoire de votre programme évolue au fil du temps.

Interaction avec les éléments des graphiques de tampons

Lorsque vous pointez vers un tampon dans un graphique de tampon, un graphique indiquant la durée de vie du tampon apparaît dans le graphique de l'espace de travail.

image

L'épaisseur de la ligne horizontale indique l'amplitude relative du tampon par rapport au pic d'allocation de mémoire. La longueur de la ligne indique la durée de vie du tampon.

Graphiques de tampons

Deux graphiques présentent la répartition de l'utilisation de la mémoire lors des pics d'utilisation.

image

  • By Program Order (Par ordre du programme) : affiche les tampons de gauche à droite, dans l'ordre de qu'ils étaient actifs pendant l'exécution du programme.

  • Par taille : affiche les tampons actifs pendant l'exécution du programme. par ordre décroissant de taille.

Carte de détails d'allocation de tampon

Lorsque vous pointez sur un tampon affiché dans l'un des graphiques de tampons, un tampon la carte de détails de l'allocation s'affiche. Une carte de détails type se présente comme suit :

image

  1. Nom : nom de l'opération XLA.
  2. Catégorie : catégorie d'opération.
  3. Taille : taille de l'allocation de tampon (remplissage compris).
  4. Unpadded size (Taille sans remplissage) : taille de l'allocation de tampon sans marge intérieure.
  5. Expansion : magnitude relative de la taille de la mémoire tampon avec remplissage par rapport à la taille de la mémoire tampon sans remplissage la taille de l'image.
  6. Extra storage (Mémoire supplémentaire) : indique la quantité de mémoire supplémentaire utilisée pour le remplissage.
  7. Forme : décrit le rang, la taille et le type de données des N dimensions tableau.
  8. TensorFlow op name (Nom de l'opération TensorFlow) : indique le nom de l'opération TensorFlow. opération associée avec l'allocation de tampon.
  9. Type d'allocation : indique la catégorie d'allocation de tampon : Paramètre, Sortie, Thread local et Temporaire (par exemple, tampon dans une fusion).

Mémoire insuffisante

Si vous exécutez un modèle et que vous obtenez une erreur "mémoire insuffisante" s'affiche, suivez les consignes de ce pour capturer un profil. Attendre que le script entraîne le modèle avant de démarrer le profileur. Les résultats du profilage peuvent vous aider à comprendre à l'origine de l'erreur.