FusionPulse
arti.nn.FusionPulse is an Alpha API introduced in ARTI 1.6.0 and retained in 1.7.0. It combines several already compact Pulse workspaces into one fixed-size workspace. It does not replace Pulse and is not intended for an unbounded raw sequence.
Pulse workspaces→ concat→ joint context + feature-wise salience→ Half survival→ shared UnFold→ fixed [B,K,D] workspaceVariable sources, fixed output
Section titled “Variable sources, fixed output”import torchfrom arti.nn import FusionPulse, Pulse
whole = Pulse(k=8, dim=64)(torch.randn(4, 96, 64))regions = Pulse(k=12, dim=64)(torch.randn(4, 192, 64))details = Pulse(k=6, dim=64)(torch.randn(4, 48, 64))
fusion = FusionPulse(k=8, dim=64)workspace, info = fusion.concat( whole, regions, details, return_info=True,)
assert workspace.shape == (4, 8, 64)Source count may vary between calls, and concat() accepts different source slot counts. Equal-size sources can instead be stacked as [B, sources, slots, D] and passed through fusion(stacked).
Pass one [B,Nᵢ] mask per source when lengths differ. Invalid slots do not participate in salience, structural losses, or the shared UnFold queries.
Balanced consolidation
Section titled “Balanced consolidation”Task loss trains the fused workspace. When repeated observations should consolidate without erasing source-specific evidence, the optional label-free structural term adds three pressures: discourage simultaneous survival of very similar candidates, preserve neighborhood support, and retain a strong representative.
workspace, info = fusion.concat(whole, regions, details, return_info=True)loss = task_loss(workspace, target) + info["structural_loss"]Diagnostics include survival, source_index, masks, and the unweighted redundancy, support, and representative loss components. These are engineering signals—not a task metric and not a guarantee that every source is retained equally.
Multi-scale composition
Section titled “Multi-scale composition”Whole-view, regional, and detail workspaces are a useful application pattern when each view is formed by its own Pulse before fusion. The labels have no built-in semantics: ARTI receives ordinary tensors and masks. Alignment, coordinates, training data, and the task objective remain the integrator’s responsibility.
raw fragments at each scale → separate Pulse modules → compact workspacescompact workspaces → FusionPulse → one fixed-capacity workspaceStability boundary
Section titled “Stability boundary”- The tensor input/output contract remains documented in 1.7.0.
FusionPulseand its structural-loss defaults are not frozen at the same level asPulseorUnFold.- Random initialization has no task meaning. Train it with a real objective before making quality claims.
- ARTI 1.7.0 adds Python-owned inspectable exports and locked Python ORT → browser WASM/WebGPU parity fixtures for FusionPulse intermediates.
@arti-fit/webtreats roles such as workspace, mask, and index as metadata; it contains no JavaScript reimplementation of FusionPulse.
Run the official exported artifact and inspect real intermediate tensors in the Workspace Evidence Lab.