Source code for niftynet.engine.handler_console
# -*- coding: utf-8 -*-
"""
This module implements a console output writer.
"""
import tensorflow as tf
from niftynet.engine.application_variables import CONSOLE
from niftynet.engine.signal import ITER_STARTED, ITER_FINISHED
[docs]class ConsoleLogger(object):
"""
This class handles iteration events to print output to the console.
"""
def __init__(self, **_unused):
ITER_STARTED.connect(self.read_console_vars)
ITER_FINISHED.connect(self.print_console_vars)
[docs] def read_console_vars(self, sender, **msg):
"""
Event handler to add all console output ops to the iteration message
:param sender: a niftynet.application instance
:param msg: an iteration message instance
:return:
"""
msg['iter_msg'].ops_to_run[CONSOLE] = \
sender.outputs_collector.variables(CONSOLE)
[docs] def print_console_vars(self, _sender, **msg):
"""
Printing iteration message with ``tf.logging`` interface.
:param _sender:
:param msg: an iteration message instance
:return:
"""
tf.logging.info(msg['iter_msg'].to_console_string())