Comment interpréter Poolallocator messages dans tensorflow?
Tandis que la formation d'un tensorflow seq2seq modèle je vois les messages suivants :
W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 27282 requêtes get, put_count=9311 evicted_count=1000 eviction_rate=0.1074 et insatisfait taux d'attribution=0.699032 Je tensorflow/core/common_runtime/gpu/pool_allocator.cc:239] de Sensibilisation pool_size_limit_ de 100 à 110 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 13715 requêtes get, put_count=14458 evicted_count=10000 eviction_rate=0.691659 et insatisfait taux d'attribution=0.675684 Je tensorflow/core/common_runtime/gpu/pool_allocator.cc:239] de Sensibilisation pool_size_limit_ de 110 à 121 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 6965 requêtes get, put_count=6813 evicted_count=5000 eviction_rate=0.733891 et insatisfait taux d'attribution=0.741421 Je tensorflow/core/common_runtime/gpu/pool_allocator.cc:239] de Sensibilisation pool_size_limit_ de 133 à 146 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 44 requêtes get, put_count=9058 evicted_count=9000 eviction_rate=0.993597 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 46 requêtes get, put_count=9062 evicted_count=9000 eviction_rate=0.993158 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 4 requêtes get, put_count=1029 evicted_count=1000 eviction_rate=0.971817 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 2 requêtes get, put_count=1030 evicted_count=1000 eviction_rate=0.970874 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 44 requêtes get, put_count=6074 evicted_count=6000 eviction_rate=0.987817 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 12 requêtes get, put_count=6045 evicted_count=6000 eviction_rate=0.992556 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 2 requêtes get, put_count=1042 evicted_count=1000 eviction_rate=0.959693 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 44 requêtes get, put_count=6093 evicted_count=6000 eviction_rate=0.984737 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 4 requêtes get, put_count=1069 evicted_count=1000 eviction_rate=0.935454 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 17722 requêtes get, put_count=9036 evicted_count=1000 eviction_rate=0.110668 et insatisfait taux d'attribution=0.550615 Je tensorflow/core/common_runtime/gpu/pool_allocator.cc:239] de Sensibilisation pool_size_limit_ à partir de 792 à 871 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 6 requêtes get, put_count=1093 evicted_count=1000 eviction_rate=0.914913 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 6 requêtes get, put_count=1101 evicted_count=1000 eviction_rate=0.908265 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 3224 requêtes get, put_count=4684 evicted_count=2000 eviction_rate=0.426985 et insatisfait taux d'attribution=0.200062 Je tensorflow/core/common_runtime/gpu/pool_allocator.cc:239] de Sensibilisation pool_size_limit_ à partir de 1158 à 1273 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 17794 requêtes get, put_count=17842 evicted_count=9000 eviction_rate=0.504428 et insatisfait taux d'attribution=0.510228 Je tensorflow/core/common_runtime/gpu/pool_allocator.cc:239] de Sensibilisation pool_size_limit_ de 1400 à 1540 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après le 31 requêtes get, put_count=1185 evicted_count=1000 eviction_rate=0.843882 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 40 requêtes get, put_count=8209 evicted_count=8000 eviction_rate=0.97454 et insatisfait taux d'attribution=0 W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 0 requêtes get, put_count=2272 evicted_count=2000 eviction_rate=0.880282 et insatisfait taux d'attribution=-nan W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 0 requêtes get, put_count=2362 evicted_count=2000 eviction_rate=0.84674 et insatisfait taux d'attribution=-nan W tensorflow/core/common_runtime/gpu/pool_allocator.cc:227] PoolAllocator: Après 38 requêtes get, put_count=5436 evicted_count=5000 eviction_rate=0.919794 et insatisfait taux d'attribution=0
Veut dire quoi , ça veut dire que je vais avoir quelques problèmes de répartition des ressources? Suis en cours d'exécution sur Titan X 3500+ CUDA ,12 GO GPU
Vous devez vous connecter pour publier un commentaire.
TensorFlow a plusieurs allocateurs de mémoire, la mémoire qui sera utilisée de différentes manières. Leur comportement a certains aspects adaptatifs.
Dans votre cas, puisque vous êtes à l'aide d'un GPU, il y a un PoolAllocator pour la mémoire de l'unité centrale qui est pré-enregistré avec le GPU pour les DMA (rapide). Un tenseur qui devrait être transféré à partir de CPU, GPU, par exemple, seront attribués à partir de ce pool.
La PoolAllocators tenter d'amortir le coût de l'appel à une plus cher sous-jacente de l'allocateur en gardant autour de la piscine, de l'allocation de puis libéré morceaux qui sont immédiatement admissibles à la réutilisation. Leur comportement par défaut est de grandir lentement, jusqu'à ce que l'expulsion taux descend en dessous de certains constante. (L'expulsion taux correspond à la proportion des appels gratuits où nous retourner un inutilisés morceau de la piscine au fond de la piscine afin de ne pas dépasser la limite de taille.) Dans le journal des messages ci-dessus, vous pouvez voir "Élever pool_size_limit_" les lignes qui montrent la piscine de taille croissante. En supposant que votre programme a effectivement un état d'équilibre du comportement avec une taille maximale collection de morceaux dont il a besoin, la piscine va croître à les accueillir, et puis n'augmentent pas plus. Il se comporte de cette manière plutôt que de simplement conserver tous les morceaux déjà alloués à ce que les tailles que rarement nécessaire, ou seulement lors du démarrage du programme, sont moins susceptibles d'être retenues dans la piscine.
Ces messages ne doit pas être une cause d'inquiétude si vous êtes à court de mémoire. Dans un tel cas, les messages de journal peut aider à diagnostiquer le problème. Notez également que le pic de la vitesse d'exécution ne peut être atteint après les pools de mémoire ont augmenté à la bonne taille.
tl;dr
Vous sont OOM..
essayez de réduire la taille de votre réseau ou de formation moins de modèles simultanément ou jouer avec la taille des lots, etc.