composer.loggers.file_logger#

Logs to a file or to the terminal.

Classes

FileLogger

Logs to a file or to the terminal.

class composer.loggers.file_logger.FileLogger(filename='stdout', *, buffer_size=1, log_level=LogLevel.EPOCH, log_interval=1, flush_interval=100, config=None)[source]#

Bases: composer.core.logging.base_backend.LoggerCallback

Logs to a file or to the terminal.

Example usage:
from composer.loggers import FileLogger
from composer.trainer import Trainer
from composer.core.logging import LogLevel
logger = FileLogger(
    filename="log.txt",
    buffer_size=1,
    log_level=LogLevel.BATCH,
    log_interval=2,
    flush_interval=50
)
trainer = Trainer(
    model=model,
    train_dataloader=train_dataloader,
    eval_dataloader=eval_dataloader,
    max_duration="1ep",
    optimizers=[optimizer],
    loggers=[logger]
)

Example output:

[FIT][step=2]: { "logged_metric": "logged_value", }
[EPOCH][step=2]: { "logged_metric": "logged_value", }
[BATCH][step=2]: { "logged_metric": "logged_value", }
[EPOCH][step=3]: { "logged_metric": "logged_value", }
Parameters
  • filename (str, optional) โ€“ File to log to. Can be a filepath, "stdout", or "stderr". Default: "stdout". Filepaths should be specified relative to the run_directory.

  • buffer_size (int, optional) โ€“ Buffer size. See open(). Default: 1 for line buffering.

  • log_level (LogLevel, optional) โ€“ LogLevel (i.e. unit of resolution) at which to record. Default: EPOCH.

  • log_interval (int, optional) โ€“ Frequency to print logs. If log_level is EPOCH, logs will only be recorded every n epochs. If log_level is BATCH, logs will be printed every n batches. Otherwise, if log_level is FIT, this parameter is ignored, as calls at the FIT log level are always recorded. Default: 1.

  • flush_interval (int, optional) โ€“ How frequently to flush the log to the file, relative to the log_level. For example, if the log_level is EPOCH, then the logfile will be flushed every n epochs. If the log_level is BATCH, then the logfile will be flushed every n batches. Default: 100.