Shortcuts

base

Functions

merge_dicts

Merge a sequence with dictionaries into one dictionary by aggregating the same keys with some given function.

rank_zero_experiment

Returns the real experiment on rank 0 and otherwise the DummyExperiment.

Classes

DummyExperiment

Dummy experiment

DummyLogger

Dummy logger for internal use.

LightningLoggerBase

Base class for experiment loggers.

LoggerCollection

The LoggerCollection class is used to iterate all logging actions over the given logger_iterable.

Abstract base class used to build new loggers.

class pytorch_lightning.loggers.base.DummyExperiment[source]

Bases: object

Dummy experiment

class pytorch_lightning.loggers.base.DummyLogger[source]

Bases: pytorch_lightning.loggers.base.LightningLoggerBase

Dummy logger for internal use. It is useful if we want to disable user’s logger for a feature, but still ensure that user code can run

log_hyperparams(*args, **kwargs)[source]

Record hyperparameters.

Parameters
  • paramsNamespace containing the hyperparameters

  • args – Optional positional arguments, depends on the specific logger being used

  • kwargs – Optional keywoard arguments, depends on the specific logger being used

Return type

None

log_metrics(*args, **kwargs)[source]

Records metrics. This method logs metrics as as soon as it received them. If you want to aggregate metrics for one specific step, use the agg_and_log_metrics() method.

Parameters
  • metrics – Dictionary with metric names as keys and measured quantities as values

  • step – Step number at which the metrics should be recorded

Return type

None

property experiment: pytorch_lightning.loggers.base.DummyExperiment

Return the experiment object associated with this logger.

Return type

DummyExperiment

property name: str

Return the experiment name.

Return type

str

property version: str

Return the experiment version.

Return type

str

class pytorch_lightning.loggers.base.LightningLoggerBase(agg_key_funcs=None, agg_default_func=numpy.mean)[source]

Bases: abc.ABC

Base class for experiment loggers.

Parameters
  • agg_key_funcs (Optional[Mapping[str, Callable[[Sequence[float]], float]]]) – Dictionary which maps a metric name to a function, which will aggregate the metric values for the same steps.

  • agg_default_func (Callable[[Sequence[float]], float]) – Default function to aggregate metric values. If some metric name is not presented in the agg_key_funcs dictionary, then the agg_default_func will be used for aggregation.

Note

The agg_key_funcs and agg_default_func arguments are used only when one logs metrics with the agg_and_log_metrics() method.

after_save_checkpoint(checkpoint_callback)[source]

Called after model checkpoint callback saves a new checkpoint

Parameters

checkpoint_callback – the model checkpoint callback instance

agg_and_log_metrics(metrics, step=None)[source]

Aggregates and records metrics. This method doesn’t log the passed metrics instantaneously, but instead it aggregates them and logs only if metrics are ready to be logged.

Parameters
  • metrics (Dict[str, float]) – Dictionary with metric names as keys and measured quantities as values

  • step (Optional[int]) – Step number at which the metrics should be recorded

close()[source]

Do any cleanup that is necessary to close an experiment.

Return type

None

finalize(status)[source]

Do any processing that is necessary to finalize an experiment.

Parameters

status (str) – Status that the experiment finished with (e.g. success, failed, aborted)

Return type

None

log_graph(model, input_array=None)[source]

Record model graph

Parameters
  • model (LightningModule) – lightning model

  • input_array – input passes to model.forward

Return type

None

abstract log_hyperparams(params, *args, **kwargs)[source]

Record hyperparameters.

Parameters
  • params (Namespace) – Namespace containing the hyperparameters

  • args – Optional positional arguments, depends on the specific logger being used

  • kwargs – Optional keywoard arguments, depends on the specific logger being used

abstract log_metrics(metrics, step=None)[source]

Records metrics. This method logs metrics as as soon as it received them. If you want to aggregate metrics for one specific step, use the agg_and_log_metrics() method.

Parameters
  • metrics (Dict[str, float]) – Dictionary with metric names as keys and measured quantities as values

  • step (Optional[int]) – Step number at which the metrics should be recorded

save()[source]

Save log data.

Return type

None

update_agg_funcs(agg_key_funcs=None, agg_default_func=numpy.mean)[source]

Update aggregation methods.

Parameters
  • agg_key_funcs (Optional[Mapping[str, Callable[[Sequence[float]], float]]]) – Dictionary which maps a metric name to a function, which will aggregate the metric values for the same steps.

  • agg_default_func (Callable[[Sequence[float]], float]) – Default function to aggregate metric values. If some metric name is not presented in the agg_key_funcs dictionary, then the agg_default_func will be used for aggregation.

abstract property experiment: Any

Return the experiment object associated with this logger.

Return type

Any

abstract property name: str

Return the experiment name.

Return type

str

property save_dir: Optional[str]

Return the root directory where experiment logs get saved, or None if the logger does not save data locally.

Return type

Optional[str]

abstract property version: Union[int, str]

Return the experiment version.

Return type

Union[int, str]

class pytorch_lightning.loggers.base.LoggerCollection(logger_iterable)[source]

Bases: pytorch_lightning.loggers.base.LightningLoggerBase

The LoggerCollection class is used to iterate all logging actions over the given logger_iterable.

Parameters

logger_iterable (Iterable[LightningLoggerBase]) – An iterable collection of loggers

after_save_checkpoint(checkpoint_callback)[source]

Called after model checkpoint callback saves a new checkpoint

Parameters

checkpoint_callback – the model checkpoint callback instance

agg_and_log_metrics(metrics, step=None)[source]

Aggregates and records metrics. This method doesn’t log the passed metrics instantaneously, but instead it aggregates them and logs only if metrics are ready to be logged.

Parameters
  • metrics (Dict[str, float]) – Dictionary with metric names as keys and measured quantities as values

  • step (Optional[int]) – Step number at which the metrics should be recorded

close()[source]

Do any cleanup that is necessary to close an experiment.

Return type

None

finalize(status)[source]

Do any processing that is necessary to finalize an experiment.

Parameters

status (str) – Status that the experiment finished with (e.g. success, failed, aborted)

Return type

None

log_graph(model, input_array=None)[source]

Record model graph

Parameters
  • model (LightningModule) – lightning model

  • input_array – input passes to model.forward

Return type

None

log_hyperparams(params)[source]

Record hyperparameters.

Parameters
  • params (Union[Dict[str, Any], Namespace]) – Namespace containing the hyperparameters

  • args – Optional positional arguments, depends on the specific logger being used

  • kwargs – Optional keywoard arguments, depends on the specific logger being used

Return type

None

log_metrics(metrics, step=None)[source]

Records metrics. This method logs metrics as as soon as it received them. If you want to aggregate metrics for one specific step, use the agg_and_log_metrics() method.

Parameters
  • metrics (Dict[str, float]) – Dictionary with metric names as keys and measured quantities as values

  • step (Optional[int]) – Step number at which the metrics should be recorded

Return type

None

save()[source]

Save log data.

Return type

None

update_agg_funcs(agg_key_funcs=None, agg_default_func=numpy.mean)[source]

Update aggregation methods.

Parameters
  • agg_key_funcs (Optional[Mapping[str, Callable[[Sequence[float]], float]]]) – Dictionary which maps a metric name to a function, which will aggregate the metric values for the same steps.

  • agg_default_func (Callable[[Sequence[float]], float]) – Default function to aggregate metric values. If some metric name is not presented in the agg_key_funcs dictionary, then the agg_default_func will be used for aggregation.

property experiment: List[Any]

Returns a list of experiment objects for all the loggers in the logger collection.

Return type

List[Any]

property name: str

Returns the experiment names for all the loggers in the logger collection joined by an underscore.

Return type

str

property save_dir: Optional[str]

Returns None as checkpoints should be saved to default / chosen location when using multiple loggers.

Return type

Optional[str]

property version: str

Returns the experiment versions for all the loggers in the logger collection joined by an underscore.

Return type

str

pytorch_lightning.loggers.base.merge_dicts(dicts, agg_key_funcs=None, default_func=numpy.mean)[source]

Merge a sequence with dictionaries into one dictionary by aggregating the same keys with some given function.

Parameters
  • dicts (Sequence[Mapping]) – Sequence of dictionaries to be merged.

  • agg_key_funcs (Optional[Mapping[str, Callable[[Sequence[float]], float]]]) – Mapping from key name to function. This function will aggregate a list of values, obtained from the same key of all dictionaries. If some key has no specified aggregation function, the default one will be used. Default is: None (all keys will be aggregated by the default function).

  • default_func (Callable[[Sequence[float]], float]) – Default function to aggregate keys, which are not presented in the agg_key_funcs map.

Return type

Dict

Returns

Dictionary with merged values.

Examples

>>> import pprint
>>> d1 = {'a': 1.7, 'b': 2.0, 'c': 1, 'd': {'d1': 1, 'd3': 3}}
>>> d2 = {'a': 1.1, 'b': 2.2, 'v': 1, 'd': {'d1': 2, 'd2': 3}}
>>> d3 = {'a': 1.1, 'v': 2.3, 'd': {'d3': 3, 'd4': {'d5': 1}}}
>>> dflt_func = min
>>> agg_funcs = {'a': np.mean, 'v': max, 'd': {'d1': sum}}
>>> pprint.pprint(merge_dicts([d1, d2, d3], agg_funcs, dflt_func))
{'a': 1.3,
 'b': 2.0,
 'c': 1,
 'd': {'d1': 3, 'd2': 3, 'd3': 3, 'd4': {'d5': 1}},
 'v': 2.3}
pytorch_lightning.loggers.base.rank_zero_experiment(fn)[source]

Returns the real experiment on rank 0 and otherwise the DummyExperiment.

Return type

Callable