optuna.artifacts.Backoff

class optuna.artifacts.Backoff(backend, *, max_retries=10, multiplier=2, min_delay=0.1, max_delay=30)[source]

An artifact store’s middleware for exponential backoff.

Example

import optuna
from optuna.artifacts import upload_artifact
from optuna.artifacts import Boto3ArtifactStore
from optuna.artifacts import Backoff


artifact_store = Backoff(Boto3ArtifactStore("my-bucket"))


def objective(trial: optuna.Trial) -> float:
    ... = trial.suggest_float("x", -10, 10)
    file_path = generate_example(...)
    upload_artifact(trial, file_path, artifact_store)
    return ...

Methods

open_reader(artifact_id)

remove(artifact_id)

write(artifact_id, content_body)

Parameters:
  • backend (ArtifactStore) –

  • max_retries (int) –

  • multiplier (float) –

  • min_delay (float) –

  • max_delay (float) –