type

lifecycle.SoftLifecycle

class SoftLifecycle:

Shape-stable :class:`~unitrack.lifecycle.StandardLifecycle` for differentiable mode.

Applies the same status / counter transitions as the hard policy but keeps the row count of the snapshot constant: Removed rows stay in place rather than being filtered out, so gradients flow through every tracklet across frames without index reshuffling. Consumers that want only live rows can still filter via the returned status field; the soft path itself is shape-stable. Status transitions remain discrete — the lifecycle state machine is intrinsically non-differentiable. SoftLifecycle's job is purely to avoid the autograd-unfriendly row-removal step. End-to-end soft learning rides on the upstream :class:`~unitrack.assignment.SoftAssignment` plan and soft observations (e.g. :class:`~unitrack.states.SoftReplace`), not on this policy.

Members

method

Source: unitrack/lifecycle/soft.py:14