Loggers (tune.logger)
Contents
Loggers (tune.logger)#
Tune automatically uses loggers for TensorBoard, CSV, and JSON formats. By default, Tune only logs the returned result dictionaries from the training function.
If you need to log something lower level like model weights or gradients, see Trainable Logging.
Note
Tuneβs per-trial Logger
classes have been deprecated. They can still be used, but we encourage you
to use our new interface with the LoggerCallback
class instead.
Viskit#
Tune automatically integrates with Viskit via the CSVLoggerCallback
outputs.
To use VisKit (you may have to install some dependencies), run:
$ git clone https://github.com/rll/rllab.git
$ python rllab/rllab/viskit/frontend.py ~/ray_results/my_experiment
The non-relevant metrics (like timing stats) can be disabled on the left to show only the relevant ones (like accuracy, loss, etc.).

TBXLogger#
- class ray.tune.logger.TBXLoggerCallback[source]#
TensorBoardX Logger.
Note that hparams will be written only after a trial has terminated. This logger automatically flattens nested dicts to show on TensorBoard:
{βaβ: {βbβ: 1, βcβ: 2}} -> {βa/bβ: 1, βa/cβ: 2}
PublicAPI: This API is stable across Ray releases.
JsonLogger#
- class ray.tune.logger.JsonLoggerCallback[source]#
Logs trial results in json format.
Also writes to a results file and param.json file when results or configurations are updated. Experiments must be executed with the JsonLoggerCallback to be compatible with the ExperimentAnalysis tool.
PublicAPI: This API is stable across Ray releases.
CSVLogger#
- class ray.tune.logger.CSVLoggerCallback[source]#
Logs results to progress.csv under the trial directory.
Automatically flattens nested dicts in the result dict before writing to csv:
{βaβ: {βbβ: 1, βcβ: 2}} -> {βa/bβ: 1, βa/cβ: 2}
PublicAPI: This API is stable across Ray releases.
MLFlowLogger#
Tune also provides a logger for MLflow.
You can install MLflow via pip install mlflow
.
You can see the tutorial here.
WandbLogger#
Tune also provides a logger for Weights & Biases.
You can install Wandb via pip install wandb
.
You can see the tutorial here
LoggerCallback#
- class ray.tune.logger.LoggerCallback[source]#
Base class for experiment-level logger callbacks
This base class defines a general interface for logging events, like trial starts, restores, ends, checkpoint saves, and receiving trial results.
Callbacks implementing this interface should make sure that logging utilities are cleaned up properly on trial termination, i.e. when
log_trial_end
is received. This includes e.g. closing files.PublicAPI: This API is stable across Ray releases.
- log_trial_start(trial: Trial)[source]#
Handle logging when a trial starts.
- Parameters
trial β Trial object.
- log_trial_restore(trial: Trial)[source]#
Handle logging when a trial restores.
- Parameters
trial β Trial object.
- log_trial_save(trial: Trial)[source]#
Handle logging when a trial saves a checkpoint.
- Parameters
trial β Trial object.