def __init__()

in ignite/contrib/handlers/clearml_logger.py [0:0]


    def __init__(self, **kwargs: Any):
        try:
            from clearml import Task
            from clearml.binding.frameworks.tensorflow_bind import WeightsGradientHistHelper
        except ImportError:
            try:
                # Backwards-compatibility for legacy Trains SDK
                from trains import Task
                from trains.binding.frameworks.tensorflow_bind import WeightsGradientHistHelper
            except ImportError:
                raise RuntimeError(
                    "This contrib module requires clearml to be installed. "
                    "You may install clearml using: \n pip install clearml \n"
                )

        experiment_kwargs = {k: v for k, v in kwargs.items() if k not in ("project_name", "task_name", "task_type")}

        if self.bypass_mode():
            warnings.warn("ClearMLSaver: running in bypass mode")

            class _Stub(object):
                def __call__(self, *_: Any, **__: Any) -> "_Stub":
                    return self

                def __getattr__(self, attr: str) -> "_Stub":
                    if attr in ("name", "id"):
                        return ""  # type: ignore[return-value]
                    return self

                def __setattr__(self, attr: str, val: Any) -> None:
                    pass

            self._task = _Stub()
        else:
            # Try to retrieve current the ClearML Task before trying to create a new one
            self._task = Task.current_task()
            if self._task is None:
                self._task = Task.init(
                    project_name=kwargs.get("project_name"),
                    task_name=kwargs.get("task_name"),
                    task_type=kwargs.get("task_type", Task.TaskTypes.training),
                    **experiment_kwargs,
                )

        self.clearml_logger = self._task.get_logger()

        self.grad_helper = WeightsGradientHistHelper(logger=self.clearml_logger)