Skip to content

Base Operator Strategies¤

Base classes for operator composition strategies.

See Also¤


datarax.operators.strategies.base ¤

Base class for composition strategies.

logger module-attribute ¤

logger = getLogger(__name__)

StrategyContext dataclass ¤

StrategyContext(data: PyTree, state: PyTree, metadata: dict[str, Any], random_params: dict[str, Any] | None = None, extra_params: dict[str, Any] | None = None, stats_callback: Callable[[int, dict[str, Any]], None] | None = None)

Context passed to strategy application.

data instance-attribute ¤

data: PyTree

state instance-attribute ¤

state: PyTree

metadata instance-attribute ¤

metadata: dict[str, Any]

random_params class-attribute instance-attribute ¤

random_params: dict[str, Any] | None = None

extra_params class-attribute instance-attribute ¤

extra_params: dict[str, Any] | None = None

stats_callback class-attribute instance-attribute ¤

stats_callback: Callable[[int, dict[str, Any]], None] | None = None

CompositionStrategyImpl ¤

Bases: ABC

Abstract base class for composition strategies.

describe ¤

describe() -> dict[str, Any]

Return a serializable description of this strategy.

apply abstractmethod ¤

apply(operators: list[OperatorModule], context: StrategyContext) -> tuple[PyTree, PyTree, dict[str, Any]]

Apply the composition strategy.

Parameters:

Name Type Description Default
operators list[OperatorModule]

List of operators to compose

required
context StrategyContext

Execution context containing data, state, metadata, etc.

required

Returns:

Type Description
tuple[PyTree, PyTree, dict[str, Any]]

Tuple of (result_data, result_state, result_metadata)