J'utilise TensorFlow-Slim, qui contient une journalisation utile imprimée sur la console par tf.logging
. Je voudrais rediriger ces enregistrements vers un fichier texte, mais je n'ai pas trouvé le moyen de le faire. J'ai regardé le code source tf_logging.py
, qui expose les éléments suivants, mais ne semble pas avoir la possibilité d'écrire des journaux dans un fichier. S'il vous plaît laissez-moi savoir si j'ai manqué quelque chose.
__all__ = ['log', 'debug', 'error', 'fatal', 'info', 'warn', 'warning',
'DEBUG', 'ERROR', 'FATAL', 'INFO', 'WARN',
'flush', 'log_every_n', 'log_first_n', 'vlog',
'TaskLevelStatusMessage', 'get_verbosity', 'set_verbosity']
import logging
# get TF logger
log = logging.getLogger('tensorflow')
log.setLevel(logging.DEBUG)
# create formatter and add it to the handlers
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# create file handler which logs even debug messages
fh = logging.FileHandler('tensorflow.log')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
log.addHandler(fh)
Ma solution est inspirée par ce fil .
Vous avez raison, il n'y a pas de boutons pour cela.
Si vous ne pouvez vraiment pas vivre avec, tf.logging
est basé sur la journalisation Python. Donc,
import logging
tf.logging._logger.basicConfig(filename='tensorflow.log', level=logging.DEBUG)
Notez que vous êtes seul sur un chemin non pris en charge et que ce problème peut survenir à tout moment.
Vous pouvez également déposer une demande de fonctionnalité à notre problème github page.
Si vous utilisez la journalisation Python dans votre projet, l’une des options consiste à définir le consignateur nommé "tensorflow" dans un fichier de configuration.
Ensuite, _logger = _logging.getLogger('tensorflow')
utilisera le consignateur et les gestionnaires spécifiés de votre fichier de configuration.