Skip to content

Merging Strategy¤

Merge results from multiple operator branches.

See Also¤


datarax.operators.strategies.merging ¤

Merging utilities for parallel and ensemble strategies.

logger module-attribute ¤

logger = getLogger(__name__)

merge_output_sequence ¤

merge_output_sequence(outputs: list[PyTree], merge_strategy: str | None, merge_axis: int = 0, merge_fn: Callable | None = None) -> PyTree

Merge parallel outputs based on strategy.

Parameters:

Name Type Description Default
outputs list[PyTree]

List of outputs from parallel operators

required
merge_strategy str | None

How to merge ("concat", "stack", "sum", "mean", "dict")

required
merge_axis int

Axis for stack/concat operations

0
merge_fn Callable | None

Custom merge function (overrides merge_strategy)

None

Returns:

Type Description
PyTree

Merged output

merge_outputs_conditional ¤

merge_outputs_conditional(outputs: list[PyTree], conditions: list[Array], merge_strategy: str | None, merge_axis: int = 0, merge_fn: Callable | None = None) -> PyTree

Merge outputs with conditional masking (vmap-compatible).

Parameters:

Name Type Description Default
outputs list[PyTree]

List of ALL operator outputs (identity for False conditions)

required
conditions list[Array]

Boolean arrays indicating which operators executed

required
merge_strategy str | None

How to merge

required
merge_axis int

Axis used for merge

0
merge_fn Callable | None

Custom merge function

None

Returns:

Type Description
PyTree

Merged output with only True-condition outputs