Comment supprimer la journalisation verbeuse de Tensorflow?
Je suis unittesting mon Tensorflow code avec nosetests mais il produit une telle quantité de sortie verbeuse qui le rend inutilisable.
Le test suivant
import unittest
import tensorflow as tf
class MyTest(unittest.TestCase):
def test_creation(self):
self.assertEquals(True, False)
lors de l'exécution avec nosetests
crée une énorme quantité de inutile d'enregistrement:
FAIL: test_creation (tests.test_tf.MyTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/cebrian/GIT/thesis-nilm/code/deepmodels/tests/test_tf.py", line 10, in test_creation
self.assertEquals(True, False)
AssertionError: True != False
-------------------- >> begin captured logging << --------------------
tensorflow: Level 1: Registering Const (<function _ConstantShape at 0x7f4379131c80>) in shape functions.
tensorflow: Level 1: Registering Assert (<function no_outputs at 0x7f43791319b0>) in shape functions.
tensorflow: Level 1: Registering Print (<function _PrintGrad at 0x7f4378effd70>) in gradient.
tensorflow: Level 1: Registering Print (<function unchanged_shape at 0x7f4379131320>) in shape functions.
tensorflow: Level 1: Registering HistogramAccumulatorSummary (None) in gradient.
tensorflow: Level 1: Registering HistogramSummary (None) in gradient.
tensorflow: Level 1: Registering ImageSummary (None) in gradient.
tensorflow: Level 1: Registering AudioSummary (None) in gradient.
tensorflow: Level 1: Registering MergeSummary (None) in gradient.
tensorflow: Level 1: Registering ScalarSummary (None) in gradient.
tensorflow: Level 1: Registering ScalarSummary (<function _ScalarShape at 0x7f4378f042a8>) in shape functions.
tensorflow: Level 1: Registering MergeSummary (<function _ScalarShape at 0x7f4378f042a8>) in shape functions.
tensorflow: Level 1: Registering AudioSummary (<function _ScalarShape at 0x7f4378f042a8>) in shape functions.
tensorflow: Level 1: Registering ImageSummary (<function _ScalarShape at 0x7f4378f042a8>) in shape functions.
tensorflow: Level 1: Registering HistogramSummary (<function _ScalarShape at 0x7f4378f042a8>) in shape functions.
tensorflow: Level 1: Registering HistogramAccumulatorSummary (<function _ScalarShape at 0x7f4378f042a8>) in shape functions.
tensorflow: Level 1: Registering Pack (<function _PackShape at 0x7f4378f047d0>) in shape functions.
tensorflow: Level 1: Registering Unpack (<function _UnpackShape at 0x7f4378f048c0>) in shape functions.
tensorflow: Level 1: Registering Concat (<function _ConcatShape at 0x7f4378f04938>) in shape functions.
tensorflow: Level 1: Registering ConcatOffset (<function _ConcatOffsetShape at 0x7f4378f049b0>) in shape functions.
......
tandis que l'utilisation de tensorflow à partir de la console ipython ne semble pas que verbose:
$ ipython
Python 2.7.11+ (default, Apr 17 2016, 14:00:29)
Type "copyright", "credits" or "license" for more information.
IPython 4.2.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
In [2]:
Comment pourrais-je supprimer l'ancien enregistrement lorsque l'exécution de nosetests?
source d'informationauteur tonicebrian
Vous devez vous connecter pour publier un commentaire.
1.0 mise à Jour (5/20/17):
Dans TensorFlow 1.0, par ce questionvous pouvez désormais contrôler la journalisation via la variable d'environnement appelée
TF_CPP_MIN_LOG_LEVEL
; la valeur par défaut est 0 (tous les journaux illustrés), mais peut être réglé de 1 filtrer lesINFO
journaux, 2 de filtrerWARNING
journaux, et 3 de filtrerERROR
journaux. Voir le générique suivante OS exemple à l'aide de Python:Pour les Versions Antérieures de TensorFlow ou TF-Apprendre de l'enregistrement, consultez la suivante:
Afficher la page ci-dessous pour plus d'informations sur TensorFlow exploitation forestière; avec la nouvelle mise à jour, vous êtes en mesure de définir le niveau de détail de consignation soit
DEBUG
INFO
WARN
ERROR
ouFATAL
. Par exemple:La page de plus va sur les moniteurs qui peut être utilisé avec TF-Apprendre les modèles. Voici la page.
Ce n'est pas bloc de l'abattage, mais (seulement TF-Apprendre). J'ai deux solutions; l'un est un "techniquement correct" solution (Linux) et l'autre sur la reconstruction de TensorFlow.
Pour les autres, veuillez consulter cette réponse qui implique la modification de la source et de la reconstruction TensorFlow.
De lancer les tests avec
nosetests --nologcapture
désactive l'affichage de ces journaux.Plus d'informations sur la journalisation pour nosetests:
https://nose.readthedocs.io/en/latest/plugins/logcapture.html
Voici un exemple de le faire. Malheureusement, cela nécessite de modifier le code source et la reconstruction. Voici un suivi de bug pour le rendre plus facile