Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ignite/contrib/handlers/base_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ def __init__(
tag: str,
metric_names: Optional[Union[str, List[str]]] = None,
output_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable[[Engine, Union[str, Events]], int]] = None,
state_attributes: Optional[List[str]] = None,
):

Expand Down
4 changes: 2 additions & 2 deletions ignite/contrib/handlers/clearml_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ def __init__(
tag: str,
metric_names: Optional[List[str]] = None,
output_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable[[Engine, Union[str, Events]], int]] = None,
state_attributes: Optional[List[str]] = None,
):
super(OutputHandler, self).__init__(
Expand All @@ -317,7 +317,7 @@ def __call__(self, engine: Engine, logger: ClearMLLogger, event_name: Union[str,

metrics = self._setup_output_metrics_state_attrs(engine)

global_step = self.global_step_transform(engine, event_name) # type: ignore[misc]
global_step = self.global_step_transform(engine, event_name)

if not isinstance(global_step, int):
raise TypeError(
Expand Down
4 changes: 2 additions & 2 deletions ignite/contrib/handlers/mlflow_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ def __init__(
tag: str,
metric_names: Optional[Union[str, List[str]]] = None,
output_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable[[Engine, Union[str, Events]], int]] = None,
state_attributes: Optional[List[str]] = None,
) -> None:
super(OutputHandler, self).__init__(
Expand All @@ -236,7 +236,7 @@ def __call__(self, engine: Engine, logger: MLflowLogger, event_name: Union[str,

rendered_metrics = self._setup_output_metrics_state_attrs(engine)

global_step = self.global_step_transform(engine, event_name) # type: ignore[misc]
global_step = self.global_step_transform(engine, event_name)

if not isinstance(global_step, int):
raise TypeError(
Expand Down
4 changes: 2 additions & 2 deletions ignite/contrib/handlers/neptune_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ def __init__(
tag: str,
metric_names: Optional[Union[str, List[str]]] = None,
output_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable[[Engine, Union[str, Events]], int]] = None,
state_attributes: Optional[List[str]] = None,
):
super(OutputHandler, self).__init__(
Expand All @@ -346,7 +346,7 @@ def __call__(self, engine: Engine, logger: NeptuneLogger, event_name: Union[str,

metrics = self._setup_output_metrics_state_attrs(engine, key_tuple=False)

global_step = self.global_step_transform(engine, event_name) # type: ignore[misc]
global_step = self.global_step_transform(engine, event_name)

if not isinstance(global_step, int):
raise TypeError(
Expand Down
4 changes: 2 additions & 2 deletions ignite/contrib/handlers/polyaxon_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ def __init__(
tag: str,
metric_names: Optional[List[str]] = None,
output_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable[[Engine, Union[str, Events]], int]] = None,
state_attributes: Optional[List[str]] = None,
):
super(OutputHandler, self).__init__(
Expand All @@ -244,7 +244,7 @@ def __call__(self, engine: Engine, logger: PolyaxonLogger, event_name: Union[str

metrics = self._setup_output_metrics_state_attrs(engine, key_tuple=False)

global_step = self.global_step_transform(engine, event_name) # type: ignore[misc]
global_step = self.global_step_transform(engine, event_name)

if not isinstance(global_step, int):
raise TypeError(
Expand Down
8 changes: 4 additions & 4 deletions ignite/contrib/handlers/tensorboard_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
BaseWeightsHandler,
BaseWeightsScalarHandler,
)
from ignite.engine import Engine, EventEnum, Events
from ignite.engine import Engine, Events
from ignite.handlers import global_step_from_engine

__all__ = [
Expand Down Expand Up @@ -276,21 +276,21 @@ def __init__(
tag: str,
metric_names: Optional[List[str]] = None,
output_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable[[Engine, Union[str, Events]], int]] = None,
state_attributes: Optional[List[str]] = None,
):
super(OutputHandler, self).__init__(
tag, metric_names, output_transform, global_step_transform, state_attributes
)

def __call__(self, engine: Engine, logger: TensorboardLogger, event_name: Union[str, EventEnum]) -> None:
def __call__(self, engine: Engine, logger: TensorboardLogger, event_name: Union[str, Events]) -> None:

if not isinstance(logger, TensorboardLogger):
raise RuntimeError("Handler 'OutputHandler' works only with TensorboardLogger")

metrics = self._setup_output_metrics_state_attrs(engine, key_tuple=False)

global_step = self.global_step_transform(engine, event_name) # type: ignore[misc]
global_step = self.global_step_transform(engine, event_name)
if not isinstance(global_step, int):
raise TypeError(
f"global_step must be int, got {type(global_step)}."
Expand Down
4 changes: 2 additions & 2 deletions ignite/contrib/handlers/tqdm_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ def attach( # type: ignore[override]
super(ProgressBar, self).attach(engine, log_handler, event_name)
engine.add_event_handler(closing_event_name, self._close)

def attach_opt_params_handler(
def attach_opt_params_handler( # type: ignore[empty-body]
self, engine: Engine, event_name: Union[str, Events], *args: Any, **kwargs: Any
) -> RemovableEventHandle:
"""Intentionally empty"""
Expand All @@ -232,7 +232,7 @@ def attach_opt_params_handler(
def _create_output_handler(self, *args: Any, **kwargs: Any) -> "_OutputHandler":
return _OutputHandler(*args, **kwargs)

def _create_opt_params_handler(self, *args: Any, **kwargs: Any) -> Callable:
def _create_opt_params_handler(self, *args: Any, **kwargs: Any) -> Callable: # type: ignore[empty-body]
"""Intentionally empty"""
pass

Expand Down
4 changes: 2 additions & 2 deletions ignite/contrib/handlers/visdom_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ def __init__(
tag: str,
metric_names: Optional[str] = None,
output_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable[[Engine, Union[str, Events]], int]] = None,
show_legend: bool = False,
state_attributes: Optional[List[str]] = None,
):
Expand All @@ -370,7 +370,7 @@ def __call__(self, engine: Engine, logger: VisdomLogger, event_name: Union[str,

metrics = self._setup_output_metrics_state_attrs(engine, key_tuple=False)

global_step = self.global_step_transform(engine, event_name) # type: ignore[misc]
global_step = self.global_step_transform(engine, event_name)

if not isinstance(global_step, int):
raise TypeError(
Expand Down
6 changes: 3 additions & 3 deletions ignite/contrib/handlers/wandb_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ def __init__(self, *args: Any, **kwargs: Any):
wandb.init(*args, **kwargs)

def __getattr__(self, attr: Any) -> Any:
return getattr(self._wandb, attr) # type: ignore[misc]
return getattr(self._wandb, attr)

def close(self) -> None:
self._wandb.finish()
Expand Down Expand Up @@ -270,7 +270,7 @@ def __init__(
tag: str,
metric_names: Optional[List[str]] = None,
output_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable] = None,
global_step_transform: Optional[Callable[[Engine, Union[str, Events]], int]] = None,
sync: Optional[bool] = None,
state_attributes: Optional[List[str]] = None,
):
Expand All @@ -282,7 +282,7 @@ def __call__(self, engine: Engine, logger: WandBLogger, event_name: Union[str, E
if not isinstance(logger, WandBLogger):
raise RuntimeError(f"Handler '{self.__class__.__name__}' works only with WandBLogger.")

global_step = self.global_step_transform(engine, event_name) # type: ignore[misc]
global_step = self.global_step_transform(engine, event_name)
if not isinstance(global_step, int):
raise TypeError(
f"global_step must be int, got {type(global_step)}."
Expand Down
2 changes: 1 addition & 1 deletion ignite/engine/engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ def has_event_handler(self, handler: Callable, event_name: Optional[Any] = None)
@staticmethod
def _compare_handlers(user_handler: Callable, registered_handler: Callable) -> bool:
if hasattr(registered_handler, "_parent"):
registered_handler = registered_handler._parent() # type: ignore[attr-defined]
registered_handler = registered_handler._parent()
return registered_handler == user_handler

def remove_event_handler(self, handler: Callable, event_name: Any) -> None:
Expand Down
2 changes: 1 addition & 1 deletion ignite/engine/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,7 @@ def remove(self) -> None:
return

if hasattr(handler, "_parent"):
handler = handler._parent() # type: ignore[attr-defined]
handler = handler._parent()
if handler is None:
raise RuntimeError(
"Internal error! Please fill an issue on https://github.com/pytorch/ignite/issues "
Expand Down
2 changes: 1 addition & 1 deletion ignite/engine/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
def _check_signature(fn: Callable, fn_description: str, *args: Any, **kwargs: Any) -> None:
# if handler with filter, check the handler rather than the decorator
if hasattr(fn, "_parent"):
signature = inspect.signature(fn._parent()) # type: ignore[attr-defined]
signature = inspect.signature(fn._parent())
else:
signature = inspect.signature(fn)
try: # try without engine
Expand Down
2 changes: 1 addition & 1 deletion ignite/handlers/param_scheduler.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ def __call__(self, engine: Optional[Engine], name: Optional[str] = None) -> None
name = self.param_name

if self.save_history and engine:
if not hasattr(engine.state, "param_history") or engine.state.param_history is None: # type: ignore
if not hasattr(engine.state, "param_history") or engine.state.param_history is None:
setattr(engine.state, "param_history", {})
engine.state.param_history.setdefault(name, []) # type: ignore[attr-defined]
values = [pg[self.param_name] for pg in self.optimizer_param_groups]
Expand Down
2 changes: 1 addition & 1 deletion ignite/handlers/state_param_scheduler.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def attach(
setattr(engine.state, self.param_name, None)

if self.save_history:
if not hasattr(engine.state, "param_history") or engine.state.param_history is None: # type: ignore
if not hasattr(engine.state, "param_history") or engine.state.param_history is None:
setattr(engine.state, "param_history", {})
engine.state.param_history.setdefault(self.param_name, []) # type: ignore[attr-defined]

Expand Down
7 changes: 7 additions & 0 deletions tests/ignite/contrib/handlers/test_wandb_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -286,3 +286,10 @@ def test_no_wandb_client(no_site_packages):

with pytest.raises(ModuleNotFoundError, match=r"This contrib module requires wandb to be installed."):
WandBLogger()


def test_wandb_getattr():
import wandb

logger = WandBLogger(init=False)
assert wandb.log == logger.log