WandbLogger

class WandbLogger(name: Optional[str] = None, entity: Optional[str] = None, project: Optional[str] = None, job_type: Optional[str] = None, group: Optional[str] = None, tags: Optional[List[str]] = None, plot: bool = True, table: bool = True, name_prefix: str = '', config: Optional[Dict[str, Any]] = None, log_model: bool = False)[source]

Bases: etna.loggers.base.BaseLogger

Weights&Biases logger.

Create instance of WandbLogger.

Parameters
  • name (Optional[str]) – Wandb run name.

  • entity (Optional[str]) – An entity is a username or team name where you’re sending runs.

  • project (Optional[str]) – The name of the project where you’re sending the new run

  • job_type (Optional[str]) – Specify the type of run, which is useful when you’re grouping runs together into larger experiments using group.

  • group (Optional[str]) – Specify a group to organize individual runs into a larger experiment.

  • tags (Optional[List[str]]) – A list of strings, which will populate the list of tags on this run in the UI.

  • plot (bool) – Indicator for making and sending plots.

  • table (bool) – Indicator for making and sending tables.

  • name_prefix (str) – Prefix for the name field.

  • config (Optional[Dict[str, Any]]) – This sets wandb.config, a dictionary-like object for saving inputs to your job, like hyperparameters for a model or settings for a data preprocessing job.

  • log_model (bool) –

Inherited-members

Methods

finish_experiment()

Finish experiment.

log(msg, **kwargs)

Log any event.

log_backtest_metrics(ts, metrics_df, ...)

Write metrics to logger.

log_backtest_run(metrics, forecast, test)

Backtest metrics from one fold to logger.

reinit_experiment()

Reinit experiment.

set_params(**params)

Return new object instance with modified parameters.

start_experiment([job_type, group])

Start experiment.

to_dict()

Collect all information about etna object in dict.

Attributes

experiment

Init experiment.

pl_logger

Pytorch lightning loggers.

finish_experiment()[source]

Finish experiment.

log(msg: Union[str, Dict[str, Any]], **kwargs)[source]

Log any event.

e.g. “Fitted segment segment_name” to stderr output.

Parameters
  • msg (Union[str, Dict[str, Any]]) – Message or dict to log

  • kwargs – Parameters for changing additional info in log message

Notes

We log dictionary to wandb only.

log_backtest_metrics(ts: TSDataset, metrics_df: pandas.core.frame.DataFrame, forecast_df: pandas.core.frame.DataFrame, fold_info_df: pandas.core.frame.DataFrame)[source]

Write metrics to logger.

Parameters
  • ts (TSDataset) – TSDataset to with backtest data

  • metrics_df (pandas.core.frame.DataFrame) – Dataframe produced with etna.pipeline.Pipeline._get_backtest_metrics()

  • forecast_df (pandas.core.frame.DataFrame) – Forecast from backtest

  • fold_info_df (pandas.core.frame.DataFrame) – Fold information from backtest

log_backtest_run(metrics: pandas.core.frame.DataFrame, forecast: pandas.core.frame.DataFrame, test: pandas.core.frame.DataFrame)[source]

Backtest metrics from one fold to logger.

Parameters
  • metrics (pandas.core.frame.DataFrame) – Dataframe with metrics from backtest fold

  • forecast (pandas.core.frame.DataFrame) – Dataframe with forecast

  • test (pandas.core.frame.DataFrame) – Dataframe with ground truth

reinit_experiment()[source]

Reinit experiment.

set_params(**params: dict) etna.core.mixins.TMixin

Return new object instance with modified parameters.

Method also allows to change parameters of nested objects within the current object. For example, it is possible to change parameters of a model in a Pipeline.

Nested parameters are expected to be in a <component_1>.<...>.<parameter> form, where components are separated by a dot.

Parameters
  • **params – Estimator parameters

  • self (etna.core.mixins.TMixin) –

  • params (dict) –

Returns

New instance with changed parameters

Return type

etna.core.mixins.TMixin

Examples

>>> from etna.pipeline import Pipeline
>>> from etna.models import NaiveModel
>>> from etna.transforms import AddConstTransform
>>> model = model=NaiveModel(lag=1)
>>> transforms = [AddConstTransform(in_column="target", value=1)]
>>> pipeline = Pipeline(model, transforms=transforms, horizon=3)
>>> pipeline.set_params(**{"model.lag": 3, "transforms.0.value": 2})
Pipeline(model = NaiveModel(lag = 3, ), transforms = [AddConstTransform(in_column = 'target', value = 2, inplace = True, out_column = None, )], horizon = 3, )
start_experiment(job_type: Optional[str] = None, group: Optional[str] = None, *args, **kwargs)[source]

Start experiment.

Complete logger initialization or reinitialize it before the next experiment with the same name.

Parameters
  • job_type (Optional[str]) – Specify the type of run, which is useful when you’re grouping runs together into larger experiments using group.

  • group (Optional[str]) – Specify a group to organize individual runs into a larger experiment.

to_dict()

Collect all information about etna object in dict.

property experiment

Init experiment.

property pl_logger

Pytorch lightning loggers.