Par informations de débogage, je veux dire ce que TensorFlow montre dans mon terminal à propos des bibliothèques chargées et des périphériques trouvés, etc., pas des erreurs Python.
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: Graphics Device
major: 5 minor: 2 memoryClockRate (GHz) 1.0885
pciBusID 0000:04:00.0
Total memory: 12.00GiB
Free memory: 11.83GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:717] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Graphics Device, pci bus id: 0000:04:00.0)
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:51] Creating bin of max chunk size 1.0KiB
...
python
tensorflow
Ghilas BELHADJ
la source
la source
import warnings
lewarnings.filterwarnings('ignore')
, puis exécutez vos importations tensorflow et code qui repose sur le code alpha-tensorflow cassé, puis réactivez les avertissements viawarnings.resetwarnings()
. Tensorflow ne devrait pas annoncer un nom de version supérieur à 0,05 pour le moment.Réponses:
Vous pouvez désactiver tous les journaux de débogage en utilisant
os.environ
:Testé sur tf 0.12 et 1.0
En détails,
la source
2.0 Mise à jour (08/10/19) Réglage
TF_CPP_MIN_LOG_LEVEL
devrait fonctionner (voir ci - dessous dans v0.12 + mise à jour), mais il est actuellement une question ouverte (voir le numéro # 31870 ). Si le paramètreTF_CPP_MIN_LOG_LEVEL
ne fonctionne pas pour vous (encore une fois, voir ci-dessous), essayez de faire ce qui suit pour définir le niveau de journalisation:En outre, veuillez consulter la documentation sur
tf.autograph.set_verbosity
laquelle définit la verbosité des messages du journal d'autographes - par exemple:v0.12 + mise à jour (20/05/17), fonctionnant via TF 2.0+:
Dans TensorFlow 0.12+, par ce problème , vous pouvez désormais contrôler la journalisation via la variable d'environnement appelée
TF_CPP_MIN_LOG_LEVEL
; il est par défaut à 0 (tous les journaux sont affichés) mais peut être défini sur l'une des valeurs suivantes sous laLevel
colonne.Consultez l'exemple de système d'exploitation générique suivant utilisant Python:
Pour être minutieux, vous appelez également définir le niveau du
tf_logging
module Python , qui est utilisé par exemple dans les opérations récapitulatives, le tensorboard, divers estimateurs, etc.Pour 1.14, vous recevrez des avertissements si vous ne changez pas pour utiliser l'API v1 comme suit:
Pour les versions antérieures de TensorFlow ou de la journalisation TF-Learn (v0.11.x ou antérieure):
Consultez la page ci-dessous pour obtenir des informations sur la journalisation TensorFlow; avec la nouvelle mise à jour, vous êtes en mesure de régler la verbosité de l' exploitation forestière soit
DEBUG
,INFO
,WARN
,ERROR
ouFATAL
. Par exemple:La page passe également en revue les moniteurs qui peuvent être utilisés avec les modèles TF-Learn. Voici la page .
Cela ne bloque toute exploitation forestière, mais (seulement TF-savoir). J'ai deux solutions; l'une est une solution «techniquement correcte» (Linux) et l'autre implique la reconstruction de TensorFlow.
Pour l'autre, veuillez consulter cette réponse qui implique la modification de la source et la reconstruction de TensorFlow.
la source
export TF_CPP_MIN_LOG_LEVEL="3" && python your_code.py
TF_CPP_MIN_LOG_LEVEL="3" python your_code.py
J'ai également eu ce problème (activé
tensorflow-0.10.0rc0
), mais je n'ai pas pu résoudre le problème de journalisation des tests de nez excessifs via les réponses suggérées.J'ai réussi à résoudre ce problème en sondant directement dans l'enregistreur tensorflow. Ce n'est pas le plus correct des correctifs, mais fonctionne très bien et ne pollue que les fichiers de test qui importent directement ou indirectement tensorflow:
la source
tensorflow-gpu 1.14.0
. Recieved cette sortie lorsqu'elle est appelée la fonction ci - dessusThe name tf.logging.set_verbosity is deprecated. Please use tf.compat.v1.logging.set_verbosity instead.
WARNING:tensorflow:From C:/.../NN.py:297: The name tf.logging.ERROR is deprecated. Please use tf.compat.v1.logging.ERROR instead.
Plaire qu'il n'y avait pas aucun avertissement après ces messagesPour la compatibilité avec Tensorflow 2.0 , vous pouvez utiliser
tf.get_logger
la source
Comme cela
TF_CPP_MIN_LOG_LEVEL
n'a pas fonctionné pour moi, vous pouvez essayer:A travaillé pour moi dans tensorflow v1.6.0
la source
Le gestionnaire de journaux python3 habituel fonctionne pour moi avec tensorflow == 1.11.0:
la source
J'ai résolu avec ce message Impossible de supprimer tous les avertissements # 27045 , et la solution était:
la source
Pour ajouter une certaine flexibilité ici, vous pouvez obtenir un contrôle plus fin sur le niveau de journalisation en écrivant une fonction qui filtre les messages comme vous le souhaitez:
où
my_filter_func
accepte unLogRecord
objet comme entrée [LogRecord
docs ] et renvoie zéro si vous voulez que le message soit jeté; différent de zéro sinon.Voici un exemple de filtre qui ne conserve que chaque nième message d'information (Python 3 en raison de l'utilisation d'
nonlocal
ici):Tout ce qui précède suppose que TensorFlow a déjà configuré son état de journalisation. Vous pouvez vous en assurer sans effets secondaires en appelant
tf.logging.get_verbosity()
avant d'ajouter un filtre.la source
Ouais, j'utilise tf 2.0-beta et je veux activer / désactiver la journalisation par défaut. La variable d'environnement et les méthodes de tf1.X ne semblent plus exister.
Je suis entré dans PDB et j'ai trouvé que cela fonctionnait:
J'ajoute ensuite ma propre API logger (dans ce cas basée sur un fichier)
la source
pour tensorflow 2.1.0, le code suivant fonctionne correctement.
la source
Si vous avez seulement besoin de vous débarrasser des sorties d'avertissement à l'écran , vous voudrez peut-être effacer l' écran de la console juste après l'importation du tensorflow en utilisant cette commande simple (c'est plus efficace que de désactiver tous les journaux de débogage selon mon expérience):
Dans Windows:
Sous Linux ou Mac:
la source
Aucune des solutions ci-dessus ne peut résoudre mon problème dans Jupyter Notebook, j'utilise donc l'extrait de code suivant de Cicoria et les problèmes sont résolus.
la source