etna.loggers.S3FileLogger#
- class S3FileLogger(bucket: str, experiments_folder: str, config: Dict[str, Any] | None = None, gzip: bool = False)[source]#
Bases:
BaseFileLogger
Logger for logging files into S3 bucket.
This logger is very similar to
LocalFileLogger
, but works with S3 keys instead of paths at local file system.Create instance of S3FileLogger.
- Parameters:
bucket (str) – name of the S3 bucket
experiments_folder (str) – path to folder to create experiment in
config (Dict[str, Any] | None) – a dictionary-like object for saving inputs to your job, like hyperparameters for a model or settings for a data preprocessing job
gzip (bool) – indicator whether to use compression during saving tables or not
- Raises:
ValueError: – if environment variable
endpoint_url
isn’t setValueError: – if environment variable
aws_access_key_id
isn’t setValueError: – if environment variable
aws_secret_access_key
isn’t setValueError: – if bucket doesn’t exist
Methods
finish_experiment
(*args, **kwargs)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.
set_params
(**params)Return new object instance with modified parameters.
start_experiment
([job_type, group])Start experiment within current experiment, it is used for separate different folds during backtest.
to_dict
()Collect all information about etna object in dict.
Attributes
This class stores its
__init__
parameters as attributes.- log(msg: str | Dict[str, Any], **kwargs)[source]#
Log any event.
This class does nothing with it, use other loggers to do it.
- log_backtest_metrics(ts: TSDataset, metrics_df: DataFrame, forecast_df: DataFrame, fold_info_df: DataFrame)[source]#
Write metrics to logger.
- Parameters:
Notes
If some exception during saving is raised, then it becomes a warning.
- log_backtest_run(metrics: DataFrame, forecast: DataFrame, test: DataFrame)[source]#
Backtest metrics from one fold to logger.
- Parameters:
Notes
If some exception during saving is raised, then it becomes a warning.
- set_params(**params: dict) Self [source]#
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 aPipeline
.Nested parameters are expected to be in a
<component_1>.<...>.<parameter>
form, where components are separated by a dot.- Parameters:
**params (dict) – Estimator parameters
- Returns:
New instance with changed parameters
- Return type:
Self
Examples
>>> from etna.pipeline import Pipeline >>> from etna.models import NaiveModel >>> from etna.transforms import AddConstTransform >>> 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: str | None = None, group: str | None = None, *args, **kwargs)[source]#
Start experiment within current experiment, it is used for separate different folds during backtest.
As a result,
self.experiment_folder
key is extended withjob_type/group
.If
job_type
orgroup
isn’t set then key is extended with one value.If none of
job_type
andgroup
is set thenself.experiment_folder
is not extended.