Merging Strategy¤
Merge results from multiple operator branches.
See Also¤
- Operators Overview - All operator types
- Branching Strategy - Split processing paths
- Control Flow - DAG merge nodes
- Ensemble Strategy - Ensemble aggregation
datarax.operators.strategies.merging ¤
Merging utilities for parallel and ensemble strategies.
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 |