Shortcuts

Source code for ignite.base.mixins

from abc import ABCMeta, abstractmethod
from collections import OrderedDict
from collections.abc import Mapping
from typing import Any, TYPE_CHECKING

if TYPE_CHECKING:
    from ignite.engine import Engine


[docs]class ResettableHandler(metaclass=ABCMeta): """Interface for handlers whose internal state can be reset. Subclasses must implement the :meth:`reset` method to clear any accumulated state, typically at the beginning of a training run. .. versionadded:: 0.5.4 """
[docs] @abstractmethod def reset(self) -> None: """Reset the handler's internal state.""" pass
[docs] @abstractmethod def attach(self, engine: "Engine", *args: Any, **kwargs: Any) -> None: """Attach the handler to an engine.""" pass
class Serializable: _state_dict_all_req_keys: tuple[str, ...] = () _state_dict_one_of_opt_keys: tuple[tuple[str, ...], ...] = () def state_dict(self) -> OrderedDict: raise NotImplementedError def load_state_dict(self, state_dict: Mapping) -> None: if not isinstance(state_dict, Mapping): raise TypeError(f"Argument state_dict should be a dictionary, but given {type(state_dict)}") for k in self._state_dict_all_req_keys: if k not in state_dict: raise ValueError( f"Required state attribute '{k}' is absent in provided state_dict '{state_dict.keys()}'" ) opt_groups = self._state_dict_one_of_opt_keys if len(opt_groups) > 0 and isinstance(opt_groups[0], str): opt_groups = (opt_groups,) # Handle groups of one-of optional keys for one_of_opt_keys in opt_groups: if len(one_of_opt_keys) == 0: raise ValueError( f"Empty group found in '{self.__class__.__name__}._state_dict_one_of_opt_keys'. " "Each group must contain at least one state attribute key." ) opts = [k in state_dict for k in one_of_opt_keys] num_present = sum(opts) if num_present != 1: raise ValueError(f"state_dict should contain exactly one of '{one_of_opt_keys}' keys")

© Copyright 2026, PyTorch-Ignite Contributors. Last updated on 05/15/2026, 7:38:47 AM.

Built with Sphinx using a theme provided by Read the Docs.
×

Search Docs