[{"data":1,"prerenderedAt":10167},["ShallowReactive",2],{"navigation":3,"api-navigation":126,"\u002Fnotebooks\u002Fembedding_filters\u002Fsummary_benchmark":328,"docyard:crossref-index":10166},[4,8,38,44,48,122],{"title":5,"path":6,"stem":7},"Getting Started","\u002Fgetting-started","1.getting-started",{"title":9,"path":10,"stem":11,"children":12,"page":37},"Recipes","\u002Frecipes","2.recipes",[13,17,21,25,29,33],{"title":14,"path":15,"stem":16},"Recipe: two-stage cascade tracker","\u002Frecipes\u002Fcascade_tracker","2.recipes\u002Fcascade_tracker",{"title":18,"path":19,"stem":20},"Recipe: cosine appearance tracker","\u002Frecipes\u002Fcosine_tracker","2.recipes\u002Fcosine_tracker",{"title":22,"path":23,"stem":24},"Recipe: Kalman motion tracker","\u002Frecipes\u002Fkalman_motion_tracker","2.recipes\u002Fkalman_motion_tracker",{"title":26,"path":27,"stem":28},"Recipe: learned MOTR-style appearance tracker","\u002Frecipes\u002Flearned_motr_tracker","2.recipes\u002Flearned_motr_tracker",{"title":30,"path":31,"stem":32},"Recipe: overlap-IoU tracker (port of 1.x models.overlap)","\u002Frecipes\u002Foverlap_tracker","2.recipes\u002Foverlap_tracker",{"title":34,"path":35,"stem":36},"Recipe: SORT-style tracker on unitrack 2.0","\u002Frecipes\u002Fsort","2.recipes\u002Fsort",false,{"title":39,"path":40,"stem":41,"children":42},"API reference","\u002Fapi","3.api\u002Findex",[43],{"title":39,"path":40,"stem":41},{"title":45,"path":46,"stem":47},"Migrating from 1.x to 2.0","\u002Fmigration","4.migration",{"title":49,"path":50,"stem":51,"children":52,"page":37},"Notebooks","\u002Fnotebooks","5.notebooks",[53,84,88],{"title":54,"path":55,"stem":56,"children":57},"Embedding \u002F appearance filters","\u002Fnotebooks\u002Fembedding_filters","5.notebooks\u002Fembedding_filters\u002Findex",[58,59,64,68,72,76,80],{"title":54,"path":55,"stem":56},{"title":60,"path":61,"stem":62,"icon":63},"Embedding filters 1 — Exponential moving average (EMA)","\u002Fnotebooks\u002Fembedding_filters\u002Fema","5.notebooks\u002Fembedding_filters\u002F1.ema","i-lucide-notebook",{"title":65,"path":66,"stem":67,"icon":63},"Embedding filters 2 — Diagonal Kalman","\u002Fnotebooks\u002Fembedding_filters\u002Fkalman_diagonal","5.notebooks\u002Fembedding_filters\u002F2.kalman_diagonal",{"title":69,"path":70,"stem":71,"icon":63},"Embedding filters 3 — von Mises-Fisher (directional)","\u002Fnotebooks\u002Fembedding_filters\u002Fvmf_directional","5.notebooks\u002Fembedding_filters\u002F3.vmf_directional",{"title":73,"path":74,"stem":75,"icon":63},"Embedding filters 4 — Ensemble Kalman & information filters","\u002Fnotebooks\u002Fembedding_filters\u002Fenkf_information","5.notebooks\u002Fembedding_filters\u002F4.enkf_information",{"title":77,"path":78,"stem":79,"icon":63},"Embedding filters 5 — Memory bank & learned propagation","\u002Fnotebooks\u002Fembedding_filters\u002Fgallery_and_learned","5.notebooks\u002Fembedding_filters\u002F5.gallery_and_learned",{"title":81,"path":82,"stem":83,"icon":63},"Embedding filters 6 — summary & benchmark","\u002Fnotebooks\u002Fembedding_filters\u002Fsummary_benchmark","5.notebooks\u002Fembedding_filters\u002F6.summary_benchmark",{"title":85,"path":86,"stem":87,"icon":63},"Kalman filters for motion prediction in tracking","\u002Fnotebooks\u002Fkalman","5.notebooks\u002Fkalman",{"title":89,"path":90,"stem":91,"children":92},"Tutorial notebooks","\u002Fnotebooks\u002Ftutorials","5.notebooks\u002Ftutorials\u002Findex",[93,94,98,102,106,110,114,118],{"title":89,"path":90,"stem":91},{"title":95,"path":96,"stem":97,"icon":63},"1. Quickstart — your first tracker","\u002Fnotebooks\u002Ftutorials\u002Fquickstart","5.notebooks\u002Ftutorials\u002F1.quickstart",{"title":99,"path":100,"stem":101,"icon":63},"2. The data model — typed records that flow through a tracker","\u002Fnotebooks\u002Ftutorials\u002Fdata_model","5.notebooks\u002Ftutorials\u002F2.data_model",{"title":103,"path":104,"stem":105,"icon":63},"3. The cost & gate zoos","\u002Fnotebooks\u002Ftutorials\u002Fcosts_and_gates","5.notebooks\u002Ftutorials\u002F3.costs_and_gates",{"title":107,"path":108,"stem":109,"icon":63},"4. The composable pipeline tree","\u002Fnotebooks\u002Ftutorials\u002Fpipeline_tree","5.notebooks\u002Ftutorials\u002F4.pipeline_tree",{"title":111,"path":112,"stem":113,"icon":63},"5. State evolution and lifecycle","\u002Fnotebooks\u002Ftutorials\u002Fstates_and_lifecycle","5.notebooks\u002Ftutorials\u002F5.states_and_lifecycle",{"title":115,"path":116,"stem":117,"icon":63},"6. End-to-end: K=2 cascaded and parallel fusion","\u002Fnotebooks\u002Ftutorials\u002Fcascaded_and_parallel","5.notebooks\u002Ftutorials\u002F6.cascaded_and_parallel",{"title":119,"path":120,"stem":121,"icon":63},"7. Migration & new possibilities — driven by a real detector","\u002Fnotebooks\u002Ftutorials\u002Fmigration","5.notebooks\u002Ftutorials\u002F7.migration",{"title":123,"path":124,"stem":125},"Unitrack","\u002F","index",[127,130,133,136,139,142,145,148,151,154,157,160,163,166,169,172,175,178,181,184,187,190,193,196,199,202,205,208,211,214,217,220,223,226,229,232,235,238,241,244,247,249,252,255,258,261,263,266,269,272,274,277,280,282,285,288,290,293,296,299,302,305,308,311,313,315,318,320,323,326],{"title":128,"path":129},"assignment","\u002Fapi\u002Fassignment",{"title":131,"path":132},"associate","\u002Fapi\u002Fassignment\u002Fassociate",{"title":134,"path":135},"clip_associate","\u002Fapi\u002Fassignment\u002Fclip_associate",{"title":137,"path":138},"lap","\u002Fapi\u002Fassignment\u002Flap",{"title":140,"path":141},"lapjv","\u002Fapi\u002Fassignment\u002Flapjv",{"title":143,"path":144},"benchmarks","\u002Fapi\u002Fbenchmarks",{"title":146,"path":147},"hota","\u002Fapi\u002Fbenchmarks\u002Fhota",{"title":149,"path":150},"datasets","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Fdatasets",{"title":152,"path":153},"learned_modules","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Flearned_modules",{"title":155,"path":156},"metric","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Fmetric",{"title":158,"path":159},"models","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Fmodels",{"title":161,"path":162},"protocols","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Fprotocols",{"title":164,"path":165},"render","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Frender",{"title":167,"path":168},"report","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Freport",{"title":170,"path":171},"runner","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Frunner",{"title":173,"path":174},"tracker","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Ftracker",{"title":176,"path":177},"train_learned","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Ftrain_learned",{"title":179,"path":180},"types","\u002Fapi\u002Fbenchmarks\u002Fhota\u002Ftypes",{"title":182,"path":183},"costs","\u002Fapi\u002Fcosts",{"title":185,"path":186},"combinators","\u002Fapi\u002Fcosts\u002Fcombinators",{"title":188,"path":189},"distance","\u002Fapi\u002Fcosts\u002Fdistance",{"title":191,"path":192},"gallery","\u002Fapi\u002Fcosts\u002Fgallery",{"title":194,"path":195},"overlap","\u002Fapi\u002Fcosts\u002Foverlap",{"title":197,"path":198},"data","\u002Fapi\u002Fdata",{"title":200,"path":201},"clip","\u002Fapi\u002Fdata\u002Fclip",{"title":203,"path":204},"cost","\u002Fapi\u002Fdata\u002Fcost",{"title":206,"path":207},"detections","\u002Fapi\u002Fdata\u002Fdetections",{"title":209,"path":210},"frame","\u002Fapi\u002Fdata\u002Fframe",{"title":212,"path":213},"gate","\u002Fapi\u002Fdata\u002Fgate",{"title":215,"path":216},"match","\u002Fapi\u002Fdata\u002Fmatch",{"title":218,"path":219},"tensor_spec","\u002Fapi\u002Fdata\u002Ftensor_spec",{"title":221,"path":222},"tracklets","\u002Fapi\u002Fdata\u002Ftracklets",{"title":224,"path":225},"gates","\u002Fapi\u002Fgates",{"title":227,"path":228},"motion","\u002Fapi\u002Fgates\u002Fmotion",{"title":230,"path":231},"simple","\u002Fapi\u002Fgates\u002Fsimple",{"title":233,"path":234},"soft","\u002Fapi\u002Fgates\u002Fsoft",{"title":236,"path":237},"spatial","\u002Fapi\u002Fgates\u002Fspatial",{"title":239,"path":240},"lifecycle","\u002Fapi\u002Flifecycle",{"title":242,"path":243},"filters","\u002Fapi\u002Flifecycle\u002Ffilters",{"title":245,"path":246},"policies","\u002Fapi\u002Flifecycle\u002Fpolicies",{"title":233,"path":248},"\u002Fapi\u002Flifecycle\u002Fsoft",{"title":250,"path":251},"status","\u002Fapi\u002Flifecycle\u002Fstatus",{"title":253,"path":254},"visibility","\u002Fapi\u002Flifecycle\u002Fvisibility",{"title":256,"path":257},"pipeline","\u002Fapi\u002Fpipeline",{"title":259,"path":260},"base","\u002Fapi\u002Fpipeline\u002Fbase",{"title":185,"path":262},"\u002Fapi\u002Fpipeline\u002Fcombinators",{"title":264,"path":265},"diff","\u002Fapi\u002Fpipeline\u002Fdiff",{"title":267,"path":268},"merge","\u002Fapi\u002Fpipeline\u002Fmerge",{"title":270,"path":271},"states","\u002Fapi\u002Fstates",{"title":259,"path":273},"\u002Fapi\u002Fstates\u002Fbase",{"title":275,"path":276},"directional","\u002Fapi\u002Fstates\u002Fdirectional",{"title":278,"path":279},"ema","\u002Fapi\u002Fstates\u002Fema",{"title":191,"path":281},"\u002Fapi\u002Fstates\u002Fgallery",{"title":283,"path":284},"identity","\u002Fapi\u002Fstates\u002Fidentity",{"title":286,"path":287},"kalman","\u002Fapi\u002Fstates\u002Fkalman",{"title":259,"path":289},"\u002Fapi\u002Fstates\u002Fkalman\u002Fbase",{"title":291,"path":292},"bbox","\u002Fapi\u002Fstates\u002Fkalman\u002Fbbox",{"title":294,"path":295},"centroid","\u002Fapi\u002Fstates\u002Fkalman\u002Fcentroid",{"title":297,"path":298},"ensemble","\u002Fapi\u002Fstates\u002Fkalman\u002Fensemble",{"title":300,"path":301},"information","\u002Fapi\u002Fstates\u002Fkalman\u002Finformation",{"title":303,"path":304},"project","\u002Fapi\u002Fstates\u002Fkalman\u002Fproject",{"title":306,"path":307},"update","\u002Fapi\u002Fstates\u002Fkalman\u002Fupdate",{"title":309,"path":310},"learned","\u002Fapi\u002Fstates\u002Flearned",{"title":233,"path":312},"\u002Fapi\u002Fstates\u002Fsoft",{"title":173,"path":314},"\u002Fapi\u002Ftracker",{"title":316,"path":317},"batch","\u002Fapi\u002Ftracker\u002Fbatch",{"title":200,"path":319},"\u002Fapi\u002Ftracker\u002Fclip",{"title":321,"path":322},"memory","\u002Fapi\u002Ftracker\u002Fmemory",{"title":324,"path":325},"multistream","\u002Fapi\u002Ftracker\u002Fmultistream",{"title":173,"path":327},"\u002Fapi\u002Ftracker\u002Ftracker",{"id":329,"title":81,"body":330,"description":10160,"extension":10161,"meta":10162,"navigation":10163,"path":82,"seo":10164,"stem":83,"__hash__":10165},"content\u002F5.notebooks\u002Fembedding_filters\u002F6.summary_benchmark.md",{"type":331,"value":332,"toc":10154},"minimark",[333,337,363,444,467,1917,3340,3345,3352,3406,4177,4180,4186,4798,4803,4806,4857,5242,5245,5249,5268,6689,6694,8990,8995,10067,10072,10076,10144,10150],[334,335,81],"h1",{"id":336},"embedding-filters-6-summary-benchmark",[338,339,340,341,345,346,350,351,354,355,358,359,362],"p",{},"Seven recursive estimators for a tracker's appearance embedding, all\nbehind the same ",[342,343,344],"code",{},"State"," interface. This notebook puts them\nside-by-side on ",[347,348,349],"strong",{},"compute"," (FLOPs + wall-clock, and how they scale\nwith the embedding dimension ",[342,352,353],{},"D","), ",[347,356,357],{},"accuracy"," (on two\ncomplementary tasks), and ",[347,360,361],{},"effort"," (tuning \u002F training), and ends\nwith a fail\u002Fsuccess cheat-sheet.",[364,365,366,379],"table",{},[367,368,369],"thead",{},[370,371,372,376],"tr",{},[373,374,375],"th",{},"Method",[373,377,378],{},"one-line idea",[380,381,382,391,399,407,415,426,437],"tbody",{},[370,383,384,388],{},[385,386,387],"td",{},"EMA",[385,389,390],{},"constant-gain blend (steady-state scalar Kalman)",[370,392,393,396],{},[385,394,395],{},"diagonal Kalman",[385,397,398],{},"random-walk Kalman, adaptive gain",[370,400,401,404],{},[385,402,403],{},"vMF",[385,405,406],{},"recursive Bayes on the unit sphere",[370,408,409,412],{},[385,410,411],{},"information filter",[385,413,414],{},"exact Kalman dual; additive fusion",[370,416,417,420],{},[385,418,419],{},"EnKF",[385,421,422,423,425],{},"covariance via an ensemble (built for large ",[342,424,353],{},")",[370,427,428,430],{},[385,429,191],{},[385,431,432,433,436],{},"feature bank of the last ",[342,434,435],{},"K"," views",[370,438,439,441],{},[385,440,309],{},[385,442,443],{},"MOTR-style module trained through the association",[338,445,446,449,450,454,455,458,459,462,463,466],{},[347,447,448],{},"Methodology."," Compute is measured on the ",[451,452,453],"em",{},"state update"," in\nisolation (the matching cost is shared). Accuracy is measured on two\ntasks because no single number is fair to all: a ",[347,456,457],{},"denoising"," task\n(smooth a drifting embedding) and an ",[347,460,461],{},"association-under-fast-motion","\ntask (keep four rotating identities matched). Each method is set to a\nreasonable operating point — and ",[451,464,465],{},"finding"," that point is itself part\nof the \"effort\" comparison (vMF needs its decay tuned; the EnKF needs\nenough inflation or its ensemble collapses).",[468,469,474],"pre",{"className":470,"code":471,"language":472,"meta":473,"style":473},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","import time\nimport torch\nimport torch.nn as nn\nimport matplotlib.pyplot as plt\n\nimport unitrack\nfrom unitrack.assignment import Associate, Jonker, sinkhorn_log_plan\nfrom unitrack.costs import Cosine, GalleryCost\nfrom unitrack.data import (\n    Detections,\n    FrameContext,\n    MatchOutcome,\n    TensorSpec,\n    Tracklets,\n)\nfrom unitrack.lifecycle import IncludeAll, NoLifecycle\nfrom unitrack.pipeline import Pipe\nfrom unitrack.states import (\n    EMAFuse,\n    EMATrack,\n    FromDetectionField,\n    Identity,\n    LearnedObservation,\n    LearnedProcess,\n    NoopObservation,\n    NoopProcess,\n    Replace,\n    State,\n    EyeInitializer,\n    vmf_state_entries,\n    gallery_state_entries,\n)\nfrom unitrack.states.kalman import (\n    KalmanLinear,\n    KalmanUpdate,\n    enkf_state_entries,\n    information_state_entries,\n)\n\ntorch.manual_seed(0)\n\n\ndef _reserved(n):\n    return dict(\n        id=torch.arange(n),\n        status=torch.full((n,), 1, dtype=torch.int8),\n        hits=torch.ones(n, dtype=torch.int32),\n        time_since_update=torch.zeros(n, dtype=torch.int32),\n        age=torch.ones(n, dtype=torch.int32),\n        frame_started=torch.zeros(n, dtype=torch.int32),\n        frame_last_seen=torch.zeros(n, dtype=torch.int32),\n    )\n\n\ndef spawn(states, n, dim):\n    ds = Detections(index=torch.arange(n), emb=torch.randn(n, dim), batch_size=[n])\n    user = {k: st.init(ds, FrameContext.make(0)) for k, st in states.items()}\n    return Tracklets(**_reserved(n), **user, batch_size=[n]), ds\n\n\ndef match_n(n):\n    p = torch.stack([torch.arange(n), torch.arange(n)], 1)\n    return MatchOutcome(\n        matched_pairs=p,\n        tracklets_residual_index=torch.zeros(0, dtype=torch.int64),\n        detections_residual_index=torch.zeros(0, dtype=torch.int64),\n        per_match_cost=torch.zeros(n),\n        batch_size=[],\n    )\n\n\ndef step_update(states, cs, ds, m, ctx):\n    out = cs\n    for st in states.values():\n        out = st.process(out, ctx)\n    for st in states.values():\n        out = st.observation(out, ds, m, ctx)\n    return out\n\n\ndef time_us(fn, iters=40, warmup=5):\n    for _ in range(warmup):\n        fn()\n    t0 = time.perf_counter()\n    for _ in range(iters):\n        fn()\n    return (time.perf_counter() - t0) \u002F iters * 1e6\n\n","python","",[342,475,476,489,497,519,537,544,552,582,604,621,630,638,646,654,662,668,690,707,723,731,739,747,755,763,771,779,787,795,803,811,819,827,832,852,860,868,876,884,889,894,915,920,925,945,958,983,1025,1059,1092,1124,1156,1188,1194,1199,1204,1228,1293,1365,1409,1414,1419,1433,1480,1490,1502,1535,1567,1587,1598,1603,1608,1613,1647,1658,1678,1704,1721,1753,1761,1766,1771,1806,1827,1836,1854,1872,1879],{"__ignoreMap":473},[477,478,481,485],"span",{"class":479,"line":480},"line",1,[477,482,484],{"class":483},"sVHd0","import",[477,486,488],{"class":487},"su5hD"," time\n",[477,490,492,494],{"class":479,"line":491},2,[477,493,484],{"class":483},[477,495,496],{"class":487}," torch\n",[477,498,500,502,505,509,513,516],{"class":479,"line":499},3,[477,501,484],{"class":483},[477,503,504],{"class":487}," torch",[477,506,508],{"class":507},"sP7_E",".",[477,510,512],{"class":511},"skxfh","nn",[477,514,515],{"class":483}," as",[477,517,518],{"class":487}," nn\n",[477,520,522,524,527,529,532,534],{"class":479,"line":521},4,[477,523,484],{"class":483},[477,525,526],{"class":487}," matplotlib",[477,528,508],{"class":507},[477,530,531],{"class":511},"pyplot",[477,533,515],{"class":483},[477,535,536],{"class":487}," plt\n",[477,538,540],{"class":479,"line":539},5,[477,541,543],{"emptyLinePlaceholder":542},true,"\n",[477,545,547,549],{"class":479,"line":546},6,[477,548,484],{"class":483},[477,550,551],{"class":487}," unitrack\n",[477,553,555,558,561,563,566,568,571,574,577,579],{"class":479,"line":554},7,[477,556,557],{"class":483},"from",[477,559,560],{"class":487}," unitrack",[477,562,508],{"class":507},[477,564,565],{"class":487},"assignment ",[477,567,484],{"class":483},[477,569,570],{"class":487}," Associate",[477,572,573],{"class":507},",",[477,575,576],{"class":487}," Jonker",[477,578,573],{"class":507},[477,580,581],{"class":487}," sinkhorn_log_plan\n",[477,583,585,587,589,591,594,596,599,601],{"class":479,"line":584},8,[477,586,557],{"class":483},[477,588,560],{"class":487},[477,590,508],{"class":507},[477,592,593],{"class":487},"costs ",[477,595,484],{"class":483},[477,597,598],{"class":487}," Cosine",[477,600,573],{"class":507},[477,602,603],{"class":487}," GalleryCost\n",[477,605,607,609,611,613,616,618],{"class":479,"line":606},9,[477,608,557],{"class":483},[477,610,560],{"class":487},[477,612,508],{"class":507},[477,614,615],{"class":487},"data ",[477,617,484],{"class":483},[477,619,620],{"class":507}," (\n",[477,622,624,627],{"class":479,"line":623},10,[477,625,626],{"class":487},"    Detections",[477,628,629],{"class":507},",\n",[477,631,633,636],{"class":479,"line":632},11,[477,634,635],{"class":487},"    FrameContext",[477,637,629],{"class":507},[477,639,641,644],{"class":479,"line":640},12,[477,642,643],{"class":487},"    MatchOutcome",[477,645,629],{"class":507},[477,647,649,652],{"class":479,"line":648},13,[477,650,651],{"class":487},"    TensorSpec",[477,653,629],{"class":507},[477,655,657,660],{"class":479,"line":656},14,[477,658,659],{"class":487},"    Tracklets",[477,661,629],{"class":507},[477,663,665],{"class":479,"line":664},15,[477,666,667],{"class":507},")\n",[477,669,671,673,675,677,680,682,685,687],{"class":479,"line":670},16,[477,672,557],{"class":483},[477,674,560],{"class":487},[477,676,508],{"class":507},[477,678,679],{"class":487},"lifecycle ",[477,681,484],{"class":483},[477,683,684],{"class":487}," IncludeAll",[477,686,573],{"class":507},[477,688,689],{"class":487}," NoLifecycle\n",[477,691,693,695,697,699,702,704],{"class":479,"line":692},17,[477,694,557],{"class":483},[477,696,560],{"class":487},[477,698,508],{"class":507},[477,700,701],{"class":487},"pipeline ",[477,703,484],{"class":483},[477,705,706],{"class":487}," Pipe\n",[477,708,710,712,714,716,719,721],{"class":479,"line":709},18,[477,711,557],{"class":483},[477,713,560],{"class":487},[477,715,508],{"class":507},[477,717,718],{"class":487},"states ",[477,720,484],{"class":483},[477,722,620],{"class":507},[477,724,726,729],{"class":479,"line":725},19,[477,727,728],{"class":487},"    EMAFuse",[477,730,629],{"class":507},[477,732,734,737],{"class":479,"line":733},20,[477,735,736],{"class":487},"    EMATrack",[477,738,629],{"class":507},[477,740,742,745],{"class":479,"line":741},21,[477,743,744],{"class":487},"    FromDetectionField",[477,746,629],{"class":507},[477,748,750,753],{"class":479,"line":749},22,[477,751,752],{"class":487},"    Identity",[477,754,629],{"class":507},[477,756,758,761],{"class":479,"line":757},23,[477,759,760],{"class":487},"    LearnedObservation",[477,762,629],{"class":507},[477,764,766,769],{"class":479,"line":765},24,[477,767,768],{"class":487},"    LearnedProcess",[477,770,629],{"class":507},[477,772,774,777],{"class":479,"line":773},25,[477,775,776],{"class":487},"    NoopObservation",[477,778,629],{"class":507},[477,780,782,785],{"class":479,"line":781},26,[477,783,784],{"class":487},"    NoopProcess",[477,786,629],{"class":507},[477,788,790,793],{"class":479,"line":789},27,[477,791,792],{"class":487},"    Replace",[477,794,629],{"class":507},[477,796,798,801],{"class":479,"line":797},28,[477,799,800],{"class":487},"    State",[477,802,629],{"class":507},[477,804,806,809],{"class":479,"line":805},29,[477,807,808],{"class":487},"    EyeInitializer",[477,810,629],{"class":507},[477,812,814,817],{"class":479,"line":813},30,[477,815,816],{"class":487},"    vmf_state_entries",[477,818,629],{"class":507},[477,820,822,825],{"class":479,"line":821},31,[477,823,824],{"class":487},"    gallery_state_entries",[477,826,629],{"class":507},[477,828,830],{"class":479,"line":829},32,[477,831,667],{"class":507},[477,833,835,837,839,841,843,845,848,850],{"class":479,"line":834},33,[477,836,557],{"class":483},[477,838,560],{"class":487},[477,840,508],{"class":507},[477,842,270],{"class":487},[477,844,508],{"class":507},[477,846,847],{"class":487},"kalman ",[477,849,484],{"class":483},[477,851,620],{"class":507},[477,853,855,858],{"class":479,"line":854},34,[477,856,857],{"class":487},"    KalmanLinear",[477,859,629],{"class":507},[477,861,863,866],{"class":479,"line":862},35,[477,864,865],{"class":487},"    KalmanUpdate",[477,867,629],{"class":507},[477,869,871,874],{"class":479,"line":870},36,[477,872,873],{"class":487},"    enkf_state_entries",[477,875,629],{"class":507},[477,877,879,882],{"class":479,"line":878},37,[477,880,881],{"class":487},"    information_state_entries",[477,883,629],{"class":507},[477,885,887],{"class":479,"line":886},38,[477,888,667],{"class":507},[477,890,892],{"class":479,"line":891},39,[477,893,543],{"emptyLinePlaceholder":542},[477,895,897,900,902,906,909,913],{"class":479,"line":896},40,[477,898,899],{"class":487},"torch",[477,901,508],{"class":507},[477,903,905],{"class":904},"slqww","manual_seed",[477,907,908],{"class":507},"(",[477,910,912],{"class":911},"srdBf","0",[477,914,667],{"class":507},[477,916,918],{"class":479,"line":917},41,[477,919,543],{"emptyLinePlaceholder":542},[477,921,923],{"class":479,"line":922},42,[477,924,543],{"emptyLinePlaceholder":542},[477,926,928,932,936,938,942],{"class":479,"line":927},43,[477,929,931],{"class":930},"sbsja","def",[477,933,935],{"class":934},"sGLFI"," _reserved",[477,937,908],{"class":507},[477,939,941],{"class":940},"sFwrP","n",[477,943,944],{"class":507},"):\n",[477,946,948,951,955],{"class":479,"line":947},44,[477,949,950],{"class":483},"    return",[477,952,954],{"class":953},"sZMiF"," dict",[477,956,957],{"class":507},"(\n",[477,959,961,965,969,971,973,976,978,980],{"class":479,"line":960},45,[477,962,964],{"class":963},"s99_P","        id",[477,966,968],{"class":967},"smGrS","=",[477,970,899],{"class":904},[477,972,508],{"class":507},[477,974,975],{"class":904},"arange",[477,977,908],{"class":507},[477,979,941],{"class":904},[477,981,982],{"class":507},"),\n",[477,984,986,989,991,993,995,998,1001,1003,1006,1009,1011,1014,1016,1018,1020,1023],{"class":479,"line":985},46,[477,987,988],{"class":963},"        status",[477,990,968],{"class":967},[477,992,899],{"class":904},[477,994,508],{"class":507},[477,996,997],{"class":904},"full",[477,999,1000],{"class":507},"((",[477,1002,941],{"class":904},[477,1004,1005],{"class":507},",),",[477,1007,1008],{"class":911}," 1",[477,1010,573],{"class":507},[477,1012,1013],{"class":963}," dtype",[477,1015,968],{"class":967},[477,1017,899],{"class":904},[477,1019,508],{"class":507},[477,1021,1022],{"class":511},"int8",[477,1024,982],{"class":507},[477,1026,1028,1031,1033,1035,1037,1040,1042,1044,1046,1048,1050,1052,1054,1057],{"class":479,"line":1027},47,[477,1029,1030],{"class":963},"        hits",[477,1032,968],{"class":967},[477,1034,899],{"class":904},[477,1036,508],{"class":507},[477,1038,1039],{"class":904},"ones",[477,1041,908],{"class":507},[477,1043,941],{"class":904},[477,1045,573],{"class":507},[477,1047,1013],{"class":963},[477,1049,968],{"class":967},[477,1051,899],{"class":904},[477,1053,508],{"class":507},[477,1055,1056],{"class":511},"int32",[477,1058,982],{"class":507},[477,1060,1062,1065,1067,1069,1071,1074,1076,1078,1080,1082,1084,1086,1088,1090],{"class":479,"line":1061},48,[477,1063,1064],{"class":963},"        time_since_update",[477,1066,968],{"class":967},[477,1068,899],{"class":904},[477,1070,508],{"class":507},[477,1072,1073],{"class":904},"zeros",[477,1075,908],{"class":507},[477,1077,941],{"class":904},[477,1079,573],{"class":507},[477,1081,1013],{"class":963},[477,1083,968],{"class":967},[477,1085,899],{"class":904},[477,1087,508],{"class":507},[477,1089,1056],{"class":511},[477,1091,982],{"class":507},[477,1093,1095,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122],{"class":479,"line":1094},49,[477,1096,1097],{"class":963},"        age",[477,1099,968],{"class":967},[477,1101,899],{"class":904},[477,1103,508],{"class":507},[477,1105,1039],{"class":904},[477,1107,908],{"class":507},[477,1109,941],{"class":904},[477,1111,573],{"class":507},[477,1113,1013],{"class":963},[477,1115,968],{"class":967},[477,1117,899],{"class":904},[477,1119,508],{"class":507},[477,1121,1056],{"class":511},[477,1123,982],{"class":507},[477,1125,1127,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154],{"class":479,"line":1126},50,[477,1128,1129],{"class":963},"        frame_started",[477,1131,968],{"class":967},[477,1133,899],{"class":904},[477,1135,508],{"class":507},[477,1137,1073],{"class":904},[477,1139,908],{"class":507},[477,1141,941],{"class":904},[477,1143,573],{"class":507},[477,1145,1013],{"class":963},[477,1147,968],{"class":967},[477,1149,899],{"class":904},[477,1151,508],{"class":507},[477,1153,1056],{"class":511},[477,1155,982],{"class":507},[477,1157,1159,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186],{"class":479,"line":1158},51,[477,1160,1161],{"class":963},"        frame_last_seen",[477,1163,968],{"class":967},[477,1165,899],{"class":904},[477,1167,508],{"class":507},[477,1169,1073],{"class":904},[477,1171,908],{"class":507},[477,1173,941],{"class":904},[477,1175,573],{"class":507},[477,1177,1013],{"class":963},[477,1179,968],{"class":967},[477,1181,899],{"class":904},[477,1183,508],{"class":507},[477,1185,1056],{"class":511},[477,1187,982],{"class":507},[477,1189,1191],{"class":479,"line":1190},52,[477,1192,1193],{"class":507},"    )\n",[477,1195,1197],{"class":479,"line":1196},53,[477,1198,543],{"emptyLinePlaceholder":542},[477,1200,1202],{"class":479,"line":1201},54,[477,1203,543],{"emptyLinePlaceholder":542},[477,1205,1207,1209,1212,1214,1216,1218,1221,1223,1226],{"class":479,"line":1206},55,[477,1208,931],{"class":930},[477,1210,1211],{"class":934}," spawn",[477,1213,908],{"class":507},[477,1215,270],{"class":940},[477,1217,573],{"class":507},[477,1219,1220],{"class":940}," n",[477,1222,573],{"class":507},[477,1224,1225],{"class":940}," dim",[477,1227,944],{"class":507},[477,1229,1231,1234,1236,1239,1241,1243,1245,1247,1249,1251,1253,1255,1258,1261,1263,1265,1267,1270,1272,1274,1276,1278,1280,1283,1285,1288,1290],{"class":479,"line":1230},56,[477,1232,1233],{"class":487},"    ds ",[477,1235,968],{"class":967},[477,1237,1238],{"class":904}," Detections",[477,1240,908],{"class":507},[477,1242,125],{"class":963},[477,1244,968],{"class":967},[477,1246,899],{"class":904},[477,1248,508],{"class":507},[477,1250,975],{"class":904},[477,1252,908],{"class":507},[477,1254,941],{"class":904},[477,1256,1257],{"class":507},"),",[477,1259,1260],{"class":963}," emb",[477,1262,968],{"class":967},[477,1264,899],{"class":904},[477,1266,508],{"class":507},[477,1268,1269],{"class":904},"randn",[477,1271,908],{"class":507},[477,1273,941],{"class":904},[477,1275,573],{"class":507},[477,1277,1225],{"class":904},[477,1279,1257],{"class":507},[477,1281,1282],{"class":963}," batch_size",[477,1284,968],{"class":967},[477,1286,1287],{"class":507},"[",[477,1289,941],{"class":904},[477,1291,1292],{"class":507},"])\n",[477,1294,1296,1299,1301,1304,1307,1310,1313,1315,1318,1320,1323,1325,1328,1330,1333,1335,1337,1340,1343,1346,1348,1351,1354,1357,1359,1362],{"class":479,"line":1295},57,[477,1297,1298],{"class":487},"    user ",[477,1300,968],{"class":967},[477,1302,1303],{"class":507}," {",[477,1305,1306],{"class":487},"k",[477,1308,1309],{"class":507},":",[477,1311,1312],{"class":487}," st",[477,1314,508],{"class":507},[477,1316,1317],{"class":904},"init",[477,1319,908],{"class":507},[477,1321,1322],{"class":904},"ds",[477,1324,573],{"class":507},[477,1326,1327],{"class":904}," FrameContext",[477,1329,508],{"class":507},[477,1331,1332],{"class":904},"make",[477,1334,908],{"class":507},[477,1336,912],{"class":911},[477,1338,1339],{"class":507},"))",[477,1341,1342],{"class":483}," for",[477,1344,1345],{"class":487}," k",[477,1347,573],{"class":507},[477,1349,1350],{"class":487}," st ",[477,1352,1353],{"class":483},"in",[477,1355,1356],{"class":487}," states",[477,1358,508],{"class":507},[477,1360,1361],{"class":904},"items",[477,1363,1364],{"class":507},"()}\n",[477,1366,1368,1370,1373,1375,1378,1381,1383,1385,1387,1390,1393,1395,1397,1399,1401,1403,1406],{"class":479,"line":1367},58,[477,1369,950],{"class":483},[477,1371,1372],{"class":904}," Tracklets",[477,1374,908],{"class":507},[477,1376,1377],{"class":967},"**",[477,1379,1380],{"class":904},"_reserved",[477,1382,908],{"class":507},[477,1384,941],{"class":904},[477,1386,1257],{"class":507},[477,1388,1389],{"class":967}," **",[477,1391,1392],{"class":904},"user",[477,1394,573],{"class":507},[477,1396,1282],{"class":963},[477,1398,968],{"class":967},[477,1400,1287],{"class":507},[477,1402,941],{"class":904},[477,1404,1405],{"class":507},"]),",[477,1407,1408],{"class":487}," ds\n",[477,1410,1412],{"class":479,"line":1411},59,[477,1413,543],{"emptyLinePlaceholder":542},[477,1415,1417],{"class":479,"line":1416},60,[477,1418,543],{"emptyLinePlaceholder":542},[477,1420,1422,1424,1427,1429,1431],{"class":479,"line":1421},61,[477,1423,931],{"class":930},[477,1425,1426],{"class":934}," match_n",[477,1428,908],{"class":507},[477,1430,941],{"class":940},[477,1432,944],{"class":507},[477,1434,1436,1439,1441,1443,1445,1448,1451,1453,1455,1457,1459,1461,1463,1465,1467,1469,1471,1473,1476,1478],{"class":479,"line":1435},62,[477,1437,1438],{"class":487},"    p ",[477,1440,968],{"class":967},[477,1442,504],{"class":487},[477,1444,508],{"class":507},[477,1446,1447],{"class":904},"stack",[477,1449,1450],{"class":507},"([",[477,1452,899],{"class":904},[477,1454,508],{"class":507},[477,1456,975],{"class":904},[477,1458,908],{"class":507},[477,1460,941],{"class":904},[477,1462,1257],{"class":507},[477,1464,504],{"class":904},[477,1466,508],{"class":507},[477,1468,975],{"class":904},[477,1470,908],{"class":507},[477,1472,941],{"class":904},[477,1474,1475],{"class":507},")],",[477,1477,1008],{"class":911},[477,1479,667],{"class":507},[477,1481,1483,1485,1488],{"class":479,"line":1482},63,[477,1484,950],{"class":483},[477,1486,1487],{"class":904}," MatchOutcome",[477,1489,957],{"class":507},[477,1491,1493,1496,1498,1500],{"class":479,"line":1492},64,[477,1494,1495],{"class":963},"        matched_pairs",[477,1497,968],{"class":967},[477,1499,338],{"class":904},[477,1501,629],{"class":507},[477,1503,1505,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1533],{"class":479,"line":1504},65,[477,1506,1507],{"class":963},"        tracklets_residual_index",[477,1509,968],{"class":967},[477,1511,899],{"class":904},[477,1513,508],{"class":507},[477,1515,1073],{"class":904},[477,1517,908],{"class":507},[477,1519,912],{"class":911},[477,1521,573],{"class":507},[477,1523,1013],{"class":963},[477,1525,968],{"class":967},[477,1527,899],{"class":904},[477,1529,508],{"class":507},[477,1531,1532],{"class":511},"int64",[477,1534,982],{"class":507},[477,1536,1538,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565],{"class":479,"line":1537},66,[477,1539,1540],{"class":963},"        detections_residual_index",[477,1542,968],{"class":967},[477,1544,899],{"class":904},[477,1546,508],{"class":507},[477,1548,1073],{"class":904},[477,1550,908],{"class":507},[477,1552,912],{"class":911},[477,1554,573],{"class":507},[477,1556,1013],{"class":963},[477,1558,968],{"class":967},[477,1560,899],{"class":904},[477,1562,508],{"class":507},[477,1564,1532],{"class":511},[477,1566,982],{"class":507},[477,1568,1570,1573,1575,1577,1579,1581,1583,1585],{"class":479,"line":1569},67,[477,1571,1572],{"class":963},"        per_match_cost",[477,1574,968],{"class":967},[477,1576,899],{"class":904},[477,1578,508],{"class":507},[477,1580,1073],{"class":904},[477,1582,908],{"class":507},[477,1584,941],{"class":904},[477,1586,982],{"class":507},[477,1588,1590,1593,1595],{"class":479,"line":1589},68,[477,1591,1592],{"class":963},"        batch_size",[477,1594,968],{"class":967},[477,1596,1597],{"class":507},"[],\n",[477,1599,1601],{"class":479,"line":1600},69,[477,1602,1193],{"class":507},[477,1604,1606],{"class":479,"line":1605},70,[477,1607,543],{"emptyLinePlaceholder":542},[477,1609,1611],{"class":479,"line":1610},71,[477,1612,543],{"emptyLinePlaceholder":542},[477,1614,1616,1618,1621,1623,1625,1627,1630,1632,1635,1637,1640,1642,1645],{"class":479,"line":1615},72,[477,1617,931],{"class":930},[477,1619,1620],{"class":934}," step_update",[477,1622,908],{"class":507},[477,1624,270],{"class":940},[477,1626,573],{"class":507},[477,1628,1629],{"class":940}," cs",[477,1631,573],{"class":507},[477,1633,1634],{"class":940}," ds",[477,1636,573],{"class":507},[477,1638,1639],{"class":940}," m",[477,1641,573],{"class":507},[477,1643,1644],{"class":940}," ctx",[477,1646,944],{"class":507},[477,1648,1650,1653,1655],{"class":479,"line":1649},73,[477,1651,1652],{"class":487},"    out ",[477,1654,968],{"class":967},[477,1656,1657],{"class":487}," cs\n",[477,1659,1661,1664,1666,1668,1670,1672,1675],{"class":479,"line":1660},74,[477,1662,1663],{"class":483},"    for",[477,1665,1350],{"class":487},[477,1667,1353],{"class":483},[477,1669,1356],{"class":487},[477,1671,508],{"class":507},[477,1673,1674],{"class":904},"values",[477,1676,1677],{"class":507},"():\n",[477,1679,1681,1684,1686,1688,1690,1693,1695,1698,1700,1702],{"class":479,"line":1680},75,[477,1682,1683],{"class":487},"        out ",[477,1685,968],{"class":967},[477,1687,1312],{"class":487},[477,1689,508],{"class":507},[477,1691,1692],{"class":904},"process",[477,1694,908],{"class":507},[477,1696,1697],{"class":904},"out",[477,1699,573],{"class":507},[477,1701,1644],{"class":904},[477,1703,667],{"class":507},[477,1705,1707,1709,1711,1713,1715,1717,1719],{"class":479,"line":1706},76,[477,1708,1663],{"class":483},[477,1710,1350],{"class":487},[477,1712,1353],{"class":483},[477,1714,1356],{"class":487},[477,1716,508],{"class":507},[477,1718,1674],{"class":904},[477,1720,1677],{"class":507},[477,1722,1724,1726,1728,1730,1732,1735,1737,1739,1741,1743,1745,1747,1749,1751],{"class":479,"line":1723},77,[477,1725,1683],{"class":487},[477,1727,968],{"class":967},[477,1729,1312],{"class":487},[477,1731,508],{"class":507},[477,1733,1734],{"class":904},"observation",[477,1736,908],{"class":507},[477,1738,1697],{"class":904},[477,1740,573],{"class":507},[477,1742,1634],{"class":904},[477,1744,573],{"class":507},[477,1746,1639],{"class":904},[477,1748,573],{"class":507},[477,1750,1644],{"class":904},[477,1752,667],{"class":507},[477,1754,1756,1758],{"class":479,"line":1755},78,[477,1757,950],{"class":483},[477,1759,1760],{"class":487}," out\n",[477,1762,1764],{"class":479,"line":1763},79,[477,1765,543],{"emptyLinePlaceholder":542},[477,1767,1769],{"class":479,"line":1768},80,[477,1770,543],{"emptyLinePlaceholder":542},[477,1772,1774,1776,1779,1781,1784,1786,1789,1791,1794,1796,1799,1801,1804],{"class":479,"line":1773},81,[477,1775,931],{"class":930},[477,1777,1778],{"class":934}," time_us",[477,1780,908],{"class":507},[477,1782,1783],{"class":940},"fn",[477,1785,573],{"class":507},[477,1787,1788],{"class":940}," iters",[477,1790,968],{"class":967},[477,1792,1793],{"class":911},"40",[477,1795,573],{"class":507},[477,1797,1798],{"class":940}," warmup",[477,1800,968],{"class":967},[477,1802,1803],{"class":911},"5",[477,1805,944],{"class":507},[477,1807,1809,1811,1814,1816,1820,1822,1825],{"class":479,"line":1808},82,[477,1810,1663],{"class":483},[477,1812,1813],{"class":487}," _ ",[477,1815,1353],{"class":483},[477,1817,1819],{"class":1818},"sptTA"," range",[477,1821,908],{"class":507},[477,1823,1824],{"class":904},"warmup",[477,1826,944],{"class":507},[477,1828,1830,1833],{"class":479,"line":1829},83,[477,1831,1832],{"class":904},"        fn",[477,1834,1835],{"class":507},"()\n",[477,1837,1839,1842,1844,1847,1849,1852],{"class":479,"line":1838},84,[477,1840,1841],{"class":487},"    t0 ",[477,1843,968],{"class":967},[477,1845,1846],{"class":487}," time",[477,1848,508],{"class":507},[477,1850,1851],{"class":904},"perf_counter",[477,1853,1835],{"class":507},[477,1855,1857,1859,1861,1863,1865,1867,1870],{"class":479,"line":1856},85,[477,1858,1663],{"class":483},[477,1860,1813],{"class":487},[477,1862,1353],{"class":483},[477,1864,1819],{"class":1818},[477,1866,908],{"class":507},[477,1868,1869],{"class":904},"iters",[477,1871,944],{"class":507},[477,1873,1875,1877],{"class":479,"line":1874},86,[477,1876,1832],{"class":904},[477,1878,1835],{"class":507},[477,1880,1882,1884,1887,1890,1892,1894,1897,1900,1903,1905,1908,1911,1914],{"class":479,"line":1881},87,[477,1883,950],{"class":483},[477,1885,1886],{"class":507}," (",[477,1888,1889],{"class":487},"time",[477,1891,508],{"class":507},[477,1893,1851],{"class":904},[477,1895,1896],{"class":507},"()",[477,1898,1899],{"class":967}," -",[477,1901,1902],{"class":487}," t0",[477,1904,425],{"class":507},[477,1906,1907],{"class":967}," \u002F",[477,1909,1910],{"class":487}," iters ",[477,1912,1913],{"class":967},"*",[477,1915,1916],{"class":911}," 1e6\n",[468,1918,1920],{"className":470,"code":1919,"language":472,"meta":473,"style":473},"# Method registry: a factory (states at dim D) + metadata, each at a\n# reasonable operating point (see the per-method notebooks).\ndef st_ema(D):\n    return {\n        \"emb\": State(\n            TensorSpec((D,), torch.float32),\n            EMATrack(\"emb\"),\n            EMAFuse(\"emb\", 0.8),\n            FromDetectionField(\"emb\"),\n        )\n    }\n\n\ndef st_kalman(D):\n    e = torch.eye(D)\n    return {\n        \"emb\": State(\n            TensorSpec((D,), torch.float32),\n            KalmanLinear(\"emb\", e, e, e * 0.02, e * 0.2),\n            KalmanUpdate(\"emb\", \"emb_cov\", e, e * 0.2),\n            FromDetectionField(\"emb\"),\n        ),\n        \"emb_cov\": State(\n            TensorSpec((D, D), torch.float32),\n            NoopProcess(),\n            NoopObservation(),\n            EyeInitializer(D, 1.0),\n        ),\n    }\n\n\ndef st_vmf(D):\n    return vmf_state_entries(\"emb\", dim=D, init_kappa=3.0, kappa_obs=5.0, tau=3.0)\n\n\ndef st_info(D):\n    return information_state_entries(\"emb\", dim=D, q=0.02, r=0.2)\n\n\ndef st_enkf(D):\n    return enkf_state_entries(\n        \"emb\", dim=D, ensemble_size=32, q=1.0, r=0.2, init_std=0.5\n    )\n\n\ndef st_gallery(D):\n    return gallery_state_entries(\"emb\", dim=D, capacity=8)\n\n\ndef st_learned(D):\n    prop = nn.Sequential(nn.Linear(D, 64), nn.Tanh(), nn.Linear(64, D))\n    fuse = nn.Sequential(nn.Linear(2 * D, 64), nn.Tanh(), nn.Linear(64, D))\n    nrm = torch.nn.functional.normalize\n    return {\n        \"emb\": State(\n            TensorSpec((D,), torch.float32),\n            LearnedProcess(\"emb\", lambda x, dt: nrm(x + prop(x), dim=-1)),\n            LearnedObservation(\n                \"emb\",\n                \"emb\",\n                lambda tr, me: nrm(tr + fuse(torch.cat([tr, me], -1)), dim=-1),\n            ),\n            FromDetectionField(\"emb\"),\n        )\n    }\n\n\nMETHODS = {\n    \"EMA\": dict(make=st_ema, flops=\"2·N·D\", effort=1),\n    \"diag-Kalman\": dict(make=st_kalman, flops=\"~N·D³ (dense)\", effort=2),\n    \"vMF\": dict(make=st_vmf, flops=\"~4·N·D\", effort=3),\n    \"info-filter\": dict(make=st_info, flops=\"~N·D³\", effort=3),\n    \"EnKF (E=32)\": dict(make=st_enkf, flops=\"N·(E²D+E³)\", effort=4),\n    \"gallery (K=8)\": dict(make=st_gallery, flops=\"N·D  (+K·matching)\", effort=2),\n    \"learned\": dict(make=st_learned, flops=\"2·N·D·H  (+train)\", effort=5),\n}\nprint(\"methods:\", list(METHODS))\n\n",[342,1921,1922,1928,1933,1946,1953,1973,1993,2008,2028,2043,2048,2053,2057,2061,2074,2094,2100,2114,2132,2175,2212,2226,2231,2245,2268,2276,2283,2299,2303,2307,2311,2315,2328,2382,2386,2390,2403,2448,2452,2456,2469,2478,2531,2535,2539,2543,2556,2591,2595,2599,2612,2675,2736,2759,2765,2779,2797,2857,2864,2875,2885,2947,2952,2966,2970,2974,2978,2982,2993,3040,3085,3130,3175,3221,3266,3310,3315],{"__ignoreMap":473},[477,1923,1924],{"class":479,"line":480},[477,1925,1927],{"class":1926},"sutJx","# Method registry: a factory (states at dim D) + metadata, each at a\n",[477,1929,1930],{"class":479,"line":491},[477,1931,1932],{"class":1926},"# reasonable operating point (see the per-method notebooks).\n",[477,1934,1935,1937,1940,1942,1944],{"class":479,"line":499},[477,1936,931],{"class":930},[477,1938,1939],{"class":934}," st_ema",[477,1941,908],{"class":507},[477,1943,353],{"class":940},[477,1945,944],{"class":507},[477,1947,1948,1950],{"class":479,"line":521},[477,1949,950],{"class":483},[477,1951,1952],{"class":507}," {\n",[477,1954,1955,1959,1963,1966,1968,1971],{"class":479,"line":539},[477,1956,1958],{"class":1957},"sjJ54","        \"",[477,1960,1962],{"class":1961},"s_sjI","emb",[477,1964,1965],{"class":1957},"\"",[477,1967,1309],{"class":507},[477,1969,1970],{"class":904}," State",[477,1972,957],{"class":507},[477,1974,1975,1978,1980,1982,1984,1986,1988,1991],{"class":479,"line":546},[477,1976,1977],{"class":904},"            TensorSpec",[477,1979,1000],{"class":507},[477,1981,353],{"class":904},[477,1983,1005],{"class":507},[477,1985,504],{"class":904},[477,1987,508],{"class":507},[477,1989,1990],{"class":511},"float32",[477,1992,982],{"class":507},[477,1994,1995,1998,2000,2002,2004,2006],{"class":479,"line":554},[477,1996,1997],{"class":904},"            EMATrack",[477,1999,908],{"class":507},[477,2001,1965],{"class":1957},[477,2003,1962],{"class":1961},[477,2005,1965],{"class":1957},[477,2007,982],{"class":507},[477,2009,2010,2013,2015,2017,2019,2021,2023,2026],{"class":479,"line":584},[477,2011,2012],{"class":904},"            EMAFuse",[477,2014,908],{"class":507},[477,2016,1965],{"class":1957},[477,2018,1962],{"class":1961},[477,2020,1965],{"class":1957},[477,2022,573],{"class":507},[477,2024,2025],{"class":911}," 0.8",[477,2027,982],{"class":507},[477,2029,2030,2033,2035,2037,2039,2041],{"class":479,"line":606},[477,2031,2032],{"class":904},"            FromDetectionField",[477,2034,908],{"class":507},[477,2036,1965],{"class":1957},[477,2038,1962],{"class":1961},[477,2040,1965],{"class":1957},[477,2042,982],{"class":507},[477,2044,2045],{"class":479,"line":623},[477,2046,2047],{"class":507},"        )\n",[477,2049,2050],{"class":479,"line":632},[477,2051,2052],{"class":507},"    }\n",[477,2054,2055],{"class":479,"line":640},[477,2056,543],{"emptyLinePlaceholder":542},[477,2058,2059],{"class":479,"line":648},[477,2060,543],{"emptyLinePlaceholder":542},[477,2062,2063,2065,2068,2070,2072],{"class":479,"line":656},[477,2064,931],{"class":930},[477,2066,2067],{"class":934}," st_kalman",[477,2069,908],{"class":507},[477,2071,353],{"class":940},[477,2073,944],{"class":507},[477,2075,2076,2079,2081,2083,2085,2088,2090,2092],{"class":479,"line":664},[477,2077,2078],{"class":487},"    e ",[477,2080,968],{"class":967},[477,2082,504],{"class":487},[477,2084,508],{"class":507},[477,2086,2087],{"class":904},"eye",[477,2089,908],{"class":507},[477,2091,353],{"class":904},[477,2093,667],{"class":507},[477,2095,2096,2098],{"class":479,"line":670},[477,2097,950],{"class":483},[477,2099,1952],{"class":507},[477,2101,2102,2104,2106,2108,2110,2112],{"class":479,"line":692},[477,2103,1958],{"class":1957},[477,2105,1962],{"class":1961},[477,2107,1965],{"class":1957},[477,2109,1309],{"class":507},[477,2111,1970],{"class":904},[477,2113,957],{"class":507},[477,2115,2116,2118,2120,2122,2124,2126,2128,2130],{"class":479,"line":709},[477,2117,1977],{"class":904},[477,2119,1000],{"class":507},[477,2121,353],{"class":904},[477,2123,1005],{"class":507},[477,2125,504],{"class":904},[477,2127,508],{"class":507},[477,2129,1990],{"class":511},[477,2131,982],{"class":507},[477,2133,2134,2137,2139,2141,2143,2145,2147,2150,2152,2154,2156,2159,2161,2164,2166,2168,2170,2173],{"class":479,"line":725},[477,2135,2136],{"class":904},"            KalmanLinear",[477,2138,908],{"class":507},[477,2140,1965],{"class":1957},[477,2142,1962],{"class":1961},[477,2144,1965],{"class":1957},[477,2146,573],{"class":507},[477,2148,2149],{"class":904}," e",[477,2151,573],{"class":507},[477,2153,2149],{"class":904},[477,2155,573],{"class":507},[477,2157,2158],{"class":904}," e ",[477,2160,1913],{"class":967},[477,2162,2163],{"class":911}," 0.02",[477,2165,573],{"class":507},[477,2167,2158],{"class":904},[477,2169,1913],{"class":967},[477,2171,2172],{"class":911}," 0.2",[477,2174,982],{"class":507},[477,2176,2177,2180,2182,2184,2186,2188,2190,2193,2196,2198,2200,2202,2204,2206,2208,2210],{"class":479,"line":733},[477,2178,2179],{"class":904},"            KalmanUpdate",[477,2181,908],{"class":507},[477,2183,1965],{"class":1957},[477,2185,1962],{"class":1961},[477,2187,1965],{"class":1957},[477,2189,573],{"class":507},[477,2191,2192],{"class":1957}," \"",[477,2194,2195],{"class":1961},"emb_cov",[477,2197,1965],{"class":1957},[477,2199,573],{"class":507},[477,2201,2149],{"class":904},[477,2203,573],{"class":507},[477,2205,2158],{"class":904},[477,2207,1913],{"class":967},[477,2209,2172],{"class":911},[477,2211,982],{"class":507},[477,2213,2214,2216,2218,2220,2222,2224],{"class":479,"line":741},[477,2215,2032],{"class":904},[477,2217,908],{"class":507},[477,2219,1965],{"class":1957},[477,2221,1962],{"class":1961},[477,2223,1965],{"class":1957},[477,2225,982],{"class":507},[477,2227,2228],{"class":479,"line":749},[477,2229,2230],{"class":507},"        ),\n",[477,2232,2233,2235,2237,2239,2241,2243],{"class":479,"line":757},[477,2234,1958],{"class":1957},[477,2236,2195],{"class":1961},[477,2238,1965],{"class":1957},[477,2240,1309],{"class":507},[477,2242,1970],{"class":904},[477,2244,957],{"class":507},[477,2246,2247,2249,2251,2253,2255,2258,2260,2262,2264,2266],{"class":479,"line":765},[477,2248,1977],{"class":904},[477,2250,1000],{"class":507},[477,2252,353],{"class":904},[477,2254,573],{"class":507},[477,2256,2257],{"class":904}," D",[477,2259,1257],{"class":507},[477,2261,504],{"class":904},[477,2263,508],{"class":507},[477,2265,1990],{"class":511},[477,2267,982],{"class":507},[477,2269,2270,2273],{"class":479,"line":773},[477,2271,2272],{"class":904},"            NoopProcess",[477,2274,2275],{"class":507},"(),\n",[477,2277,2278,2281],{"class":479,"line":781},[477,2279,2280],{"class":904},"            NoopObservation",[477,2282,2275],{"class":507},[477,2284,2285,2288,2290,2292,2294,2297],{"class":479,"line":789},[477,2286,2287],{"class":904},"            EyeInitializer",[477,2289,908],{"class":507},[477,2291,353],{"class":904},[477,2293,573],{"class":507},[477,2295,2296],{"class":911}," 1.0",[477,2298,982],{"class":507},[477,2300,2301],{"class":479,"line":797},[477,2302,2230],{"class":507},[477,2304,2305],{"class":479,"line":805},[477,2306,2052],{"class":507},[477,2308,2309],{"class":479,"line":813},[477,2310,543],{"emptyLinePlaceholder":542},[477,2312,2313],{"class":479,"line":821},[477,2314,543],{"emptyLinePlaceholder":542},[477,2316,2317,2319,2322,2324,2326],{"class":479,"line":829},[477,2318,931],{"class":930},[477,2320,2321],{"class":934}," st_vmf",[477,2323,908],{"class":507},[477,2325,353],{"class":940},[477,2327,944],{"class":507},[477,2329,2330,2332,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2356,2358,2361,2363,2366,2368,2371,2373,2376,2378,2380],{"class":479,"line":834},[477,2331,950],{"class":483},[477,2333,2334],{"class":904}," vmf_state_entries",[477,2336,908],{"class":507},[477,2338,1965],{"class":1957},[477,2340,1962],{"class":1961},[477,2342,1965],{"class":1957},[477,2344,573],{"class":507},[477,2346,1225],{"class":963},[477,2348,968],{"class":967},[477,2350,353],{"class":904},[477,2352,573],{"class":507},[477,2354,2355],{"class":963}," init_kappa",[477,2357,968],{"class":967},[477,2359,2360],{"class":911},"3.0",[477,2362,573],{"class":507},[477,2364,2365],{"class":963}," kappa_obs",[477,2367,968],{"class":967},[477,2369,2370],{"class":911},"5.0",[477,2372,573],{"class":507},[477,2374,2375],{"class":963}," tau",[477,2377,968],{"class":967},[477,2379,2360],{"class":911},[477,2381,667],{"class":507},[477,2383,2384],{"class":479,"line":854},[477,2385,543],{"emptyLinePlaceholder":542},[477,2387,2388],{"class":479,"line":862},[477,2389,543],{"emptyLinePlaceholder":542},[477,2391,2392,2394,2397,2399,2401],{"class":479,"line":870},[477,2393,931],{"class":930},[477,2395,2396],{"class":934}," st_info",[477,2398,908],{"class":507},[477,2400,353],{"class":940},[477,2402,944],{"class":507},[477,2404,2405,2407,2410,2412,2414,2416,2418,2420,2422,2424,2426,2428,2431,2433,2436,2438,2441,2443,2446],{"class":479,"line":878},[477,2406,950],{"class":483},[477,2408,2409],{"class":904}," information_state_entries",[477,2411,908],{"class":507},[477,2413,1965],{"class":1957},[477,2415,1962],{"class":1961},[477,2417,1965],{"class":1957},[477,2419,573],{"class":507},[477,2421,1225],{"class":963},[477,2423,968],{"class":967},[477,2425,353],{"class":904},[477,2427,573],{"class":507},[477,2429,2430],{"class":963}," q",[477,2432,968],{"class":967},[477,2434,2435],{"class":911},"0.02",[477,2437,573],{"class":507},[477,2439,2440],{"class":963}," r",[477,2442,968],{"class":967},[477,2444,2445],{"class":911},"0.2",[477,2447,667],{"class":507},[477,2449,2450],{"class":479,"line":886},[477,2451,543],{"emptyLinePlaceholder":542},[477,2453,2454],{"class":479,"line":891},[477,2455,543],{"emptyLinePlaceholder":542},[477,2457,2458,2460,2463,2465,2467],{"class":479,"line":896},[477,2459,931],{"class":930},[477,2461,2462],{"class":934}," st_enkf",[477,2464,908],{"class":507},[477,2466,353],{"class":940},[477,2468,944],{"class":507},[477,2470,2471,2473,2476],{"class":479,"line":917},[477,2472,950],{"class":483},[477,2474,2475],{"class":904}," enkf_state_entries",[477,2477,957],{"class":507},[477,2479,2480,2482,2484,2486,2488,2490,2492,2494,2496,2499,2501,2504,2506,2508,2510,2513,2515,2517,2519,2521,2523,2526,2528],{"class":479,"line":922},[477,2481,1958],{"class":1957},[477,2483,1962],{"class":1961},[477,2485,1965],{"class":1957},[477,2487,573],{"class":507},[477,2489,1225],{"class":963},[477,2491,968],{"class":967},[477,2493,353],{"class":904},[477,2495,573],{"class":507},[477,2497,2498],{"class":963}," ensemble_size",[477,2500,968],{"class":967},[477,2502,2503],{"class":911},"32",[477,2505,573],{"class":507},[477,2507,2430],{"class":963},[477,2509,968],{"class":967},[477,2511,2512],{"class":911},"1.0",[477,2514,573],{"class":507},[477,2516,2440],{"class":963},[477,2518,968],{"class":967},[477,2520,2445],{"class":911},[477,2522,573],{"class":507},[477,2524,2525],{"class":963}," init_std",[477,2527,968],{"class":967},[477,2529,2530],{"class":911},"0.5\n",[477,2532,2533],{"class":479,"line":927},[477,2534,1193],{"class":507},[477,2536,2537],{"class":479,"line":947},[477,2538,543],{"emptyLinePlaceholder":542},[477,2540,2541],{"class":479,"line":960},[477,2542,543],{"emptyLinePlaceholder":542},[477,2544,2545,2547,2550,2552,2554],{"class":479,"line":985},[477,2546,931],{"class":930},[477,2548,2549],{"class":934}," st_gallery",[477,2551,908],{"class":507},[477,2553,353],{"class":940},[477,2555,944],{"class":507},[477,2557,2558,2560,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581,2584,2586,2589],{"class":479,"line":1027},[477,2559,950],{"class":483},[477,2561,2562],{"class":904}," gallery_state_entries",[477,2564,908],{"class":507},[477,2566,1965],{"class":1957},[477,2568,1962],{"class":1961},[477,2570,1965],{"class":1957},[477,2572,573],{"class":507},[477,2574,1225],{"class":963},[477,2576,968],{"class":967},[477,2578,353],{"class":904},[477,2580,573],{"class":507},[477,2582,2583],{"class":963}," capacity",[477,2585,968],{"class":967},[477,2587,2588],{"class":911},"8",[477,2590,667],{"class":507},[477,2592,2593],{"class":479,"line":1061},[477,2594,543],{"emptyLinePlaceholder":542},[477,2596,2597],{"class":479,"line":1094},[477,2598,543],{"emptyLinePlaceholder":542},[477,2600,2601,2603,2606,2608,2610],{"class":479,"line":1126},[477,2602,931],{"class":930},[477,2604,2605],{"class":934}," st_learned",[477,2607,908],{"class":507},[477,2609,353],{"class":940},[477,2611,944],{"class":507},[477,2613,2614,2617,2619,2622,2624,2627,2629,2631,2633,2636,2638,2640,2642,2645,2647,2649,2651,2654,2657,2659,2661,2663,2665,2668,2670,2672],{"class":479,"line":1158},[477,2615,2616],{"class":487},"    prop ",[477,2618,968],{"class":967},[477,2620,2621],{"class":487}," nn",[477,2623,508],{"class":507},[477,2625,2626],{"class":904},"Sequential",[477,2628,908],{"class":507},[477,2630,512],{"class":904},[477,2632,508],{"class":507},[477,2634,2635],{"class":904},"Linear",[477,2637,908],{"class":507},[477,2639,353],{"class":904},[477,2641,573],{"class":507},[477,2643,2644],{"class":911}," 64",[477,2646,1257],{"class":507},[477,2648,2621],{"class":904},[477,2650,508],{"class":507},[477,2652,2653],{"class":904},"Tanh",[477,2655,2656],{"class":507},"(),",[477,2658,2621],{"class":904},[477,2660,508],{"class":507},[477,2662,2635],{"class":904},[477,2664,908],{"class":507},[477,2666,2667],{"class":911},"64",[477,2669,573],{"class":507},[477,2671,2257],{"class":904},[477,2673,2674],{"class":507},"))\n",[477,2676,2677,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698,2701,2704,2706,2708,2710,2712,2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734],{"class":479,"line":1190},[477,2678,2679],{"class":487},"    fuse ",[477,2681,968],{"class":967},[477,2683,2621],{"class":487},[477,2685,508],{"class":507},[477,2687,2626],{"class":904},[477,2689,908],{"class":507},[477,2691,512],{"class":904},[477,2693,508],{"class":507},[477,2695,2635],{"class":904},[477,2697,908],{"class":507},[477,2699,2700],{"class":911},"2",[477,2702,2703],{"class":967}," *",[477,2705,2257],{"class":904},[477,2707,573],{"class":507},[477,2709,2644],{"class":911},[477,2711,1257],{"class":507},[477,2713,2621],{"class":904},[477,2715,508],{"class":507},[477,2717,2653],{"class":904},[477,2719,2656],{"class":507},[477,2721,2621],{"class":904},[477,2723,508],{"class":507},[477,2725,2635],{"class":904},[477,2727,908],{"class":507},[477,2729,2667],{"class":911},[477,2731,573],{"class":507},[477,2733,2257],{"class":904},[477,2735,2674],{"class":507},[477,2737,2738,2741,2743,2745,2747,2749,2751,2754,2756],{"class":479,"line":1196},[477,2739,2740],{"class":487},"    nrm ",[477,2742,968],{"class":967},[477,2744,504],{"class":487},[477,2746,508],{"class":507},[477,2748,512],{"class":511},[477,2750,508],{"class":507},[477,2752,2753],{"class":511},"functional",[477,2755,508],{"class":507},[477,2757,2758],{"class":511},"normalize\n",[477,2760,2761,2763],{"class":479,"line":1201},[477,2762,950],{"class":483},[477,2764,1952],{"class":507},[477,2766,2767,2769,2771,2773,2775,2777],{"class":479,"line":1206},[477,2768,1958],{"class":1957},[477,2770,1962],{"class":1961},[477,2772,1965],{"class":1957},[477,2774,1309],{"class":507},[477,2776,1970],{"class":904},[477,2778,957],{"class":507},[477,2780,2781,2783,2785,2787,2789,2791,2793,2795],{"class":479,"line":1230},[477,2782,1977],{"class":904},[477,2784,1000],{"class":507},[477,2786,353],{"class":904},[477,2788,1005],{"class":507},[477,2790,504],{"class":904},[477,2792,508],{"class":507},[477,2794,1990],{"class":511},[477,2796,982],{"class":507},[477,2798,2799,2802,2804,2806,2808,2810,2812,2815,2818,2820,2823,2825,2828,2830,2833,2836,2839,2841,2844,2846,2848,2851,2854],{"class":479,"line":1295},[477,2800,2801],{"class":904},"            LearnedProcess",[477,2803,908],{"class":507},[477,2805,1965],{"class":1957},[477,2807,1962],{"class":1961},[477,2809,1965],{"class":1957},[477,2811,573],{"class":507},[477,2813,2814],{"class":930}," lambda",[477,2816,2817],{"class":940}," x",[477,2819,573],{"class":507},[477,2821,2822],{"class":940}," dt",[477,2824,1309],{"class":507},[477,2826,2827],{"class":904}," nrm",[477,2829,908],{"class":507},[477,2831,2832],{"class":904},"x ",[477,2834,2835],{"class":967},"+",[477,2837,2838],{"class":904}," prop",[477,2840,908],{"class":507},[477,2842,2843],{"class":904},"x",[477,2845,1257],{"class":507},[477,2847,1225],{"class":963},[477,2849,2850],{"class":967},"=-",[477,2852,2853],{"class":911},"1",[477,2855,2856],{"class":507},")),\n",[477,2858,2859,2862],{"class":479,"line":1367},[477,2860,2861],{"class":904},"            LearnedObservation",[477,2863,957],{"class":507},[477,2865,2866,2869,2871,2873],{"class":479,"line":1411},[477,2867,2868],{"class":1957},"                \"",[477,2870,1962],{"class":1961},[477,2872,1965],{"class":1957},[477,2874,629],{"class":507},[477,2876,2877,2879,2881,2883],{"class":479,"line":1416},[477,2878,2868],{"class":1957},[477,2880,1962],{"class":1961},[477,2882,1965],{"class":1957},[477,2884,629],{"class":507},[477,2886,2887,2890,2893,2895,2898,2900,2902,2904,2907,2909,2912,2914,2916,2918,2921,2923,2925,2927,2929,2932,2934,2936,2939,2941,2943,2945],{"class":479,"line":1421},[477,2888,2889],{"class":930},"                lambda",[477,2891,2892],{"class":940}," tr",[477,2894,573],{"class":507},[477,2896,2897],{"class":940}," me",[477,2899,1309],{"class":507},[477,2901,2827],{"class":904},[477,2903,908],{"class":507},[477,2905,2906],{"class":904},"tr ",[477,2908,2835],{"class":967},[477,2910,2911],{"class":904}," fuse",[477,2913,908],{"class":507},[477,2915,899],{"class":904},[477,2917,508],{"class":507},[477,2919,2920],{"class":904},"cat",[477,2922,1450],{"class":507},[477,2924,370],{"class":904},[477,2926,573],{"class":507},[477,2928,2897],{"class":904},[477,2930,2931],{"class":507},"],",[477,2933,1899],{"class":967},[477,2935,2853],{"class":911},[477,2937,2938],{"class":507},")),",[477,2940,1225],{"class":963},[477,2942,2850],{"class":967},[477,2944,2853],{"class":911},[477,2946,982],{"class":507},[477,2948,2949],{"class":479,"line":1435},[477,2950,2951],{"class":507},"            ),\n",[477,2953,2954,2956,2958,2960,2962,2964],{"class":479,"line":1482},[477,2955,2032],{"class":904},[477,2957,908],{"class":507},[477,2959,1965],{"class":1957},[477,2961,1962],{"class":1961},[477,2963,1965],{"class":1957},[477,2965,982],{"class":507},[477,2967,2968],{"class":479,"line":1492},[477,2969,2047],{"class":507},[477,2971,2972],{"class":479,"line":1504},[477,2973,2052],{"class":507},[477,2975,2976],{"class":479,"line":1537},[477,2977,543],{"emptyLinePlaceholder":542},[477,2979,2980],{"class":479,"line":1569},[477,2981,543],{"emptyLinePlaceholder":542},[477,2983,2984,2988,2991],{"class":479,"line":1589},[477,2985,2987],{"class":2986},"s_hVV","METHODS",[477,2989,2990],{"class":967}," =",[477,2992,1952],{"class":507},[477,2994,2995,2998,3000,3002,3004,3006,3008,3010,3012,3015,3017,3020,3022,3024,3027,3029,3031,3034,3036,3038],{"class":479,"line":1600},[477,2996,2997],{"class":1957},"    \"",[477,2999,387],{"class":1961},[477,3001,1965],{"class":1957},[477,3003,1309],{"class":507},[477,3005,954],{"class":953},[477,3007,908],{"class":507},[477,3009,1332],{"class":963},[477,3011,968],{"class":967},[477,3013,3014],{"class":904},"st_ema",[477,3016,573],{"class":507},[477,3018,3019],{"class":963}," flops",[477,3021,968],{"class":967},[477,3023,1965],{"class":1957},[477,3025,3026],{"class":1961},"2·N·D",[477,3028,1965],{"class":1957},[477,3030,573],{"class":507},[477,3032,3033],{"class":963}," effort",[477,3035,968],{"class":967},[477,3037,2853],{"class":911},[477,3039,982],{"class":507},[477,3041,3042,3044,3047,3049,3051,3053,3055,3057,3059,3062,3064,3066,3068,3070,3073,3075,3077,3079,3081,3083],{"class":479,"line":1605},[477,3043,2997],{"class":1957},[477,3045,3046],{"class":1961},"diag-Kalman",[477,3048,1965],{"class":1957},[477,3050,1309],{"class":507},[477,3052,954],{"class":953},[477,3054,908],{"class":507},[477,3056,1332],{"class":963},[477,3058,968],{"class":967},[477,3060,3061],{"class":904},"st_kalman",[477,3063,573],{"class":507},[477,3065,3019],{"class":963},[477,3067,968],{"class":967},[477,3069,1965],{"class":1957},[477,3071,3072],{"class":1961},"~N·D³ (dense)",[477,3074,1965],{"class":1957},[477,3076,573],{"class":507},[477,3078,3033],{"class":963},[477,3080,968],{"class":967},[477,3082,2700],{"class":911},[477,3084,982],{"class":507},[477,3086,3087,3089,3091,3093,3095,3097,3099,3101,3103,3106,3108,3110,3112,3114,3117,3119,3121,3123,3125,3128],{"class":479,"line":1610},[477,3088,2997],{"class":1957},[477,3090,403],{"class":1961},[477,3092,1965],{"class":1957},[477,3094,1309],{"class":507},[477,3096,954],{"class":953},[477,3098,908],{"class":507},[477,3100,1332],{"class":963},[477,3102,968],{"class":967},[477,3104,3105],{"class":904},"st_vmf",[477,3107,573],{"class":507},[477,3109,3019],{"class":963},[477,3111,968],{"class":967},[477,3113,1965],{"class":1957},[477,3115,3116],{"class":1961},"~4·N·D",[477,3118,1965],{"class":1957},[477,3120,573],{"class":507},[477,3122,3033],{"class":963},[477,3124,968],{"class":967},[477,3126,3127],{"class":911},"3",[477,3129,982],{"class":507},[477,3131,3132,3134,3137,3139,3141,3143,3145,3147,3149,3152,3154,3156,3158,3160,3163,3165,3167,3169,3171,3173],{"class":479,"line":1615},[477,3133,2997],{"class":1957},[477,3135,3136],{"class":1961},"info-filter",[477,3138,1965],{"class":1957},[477,3140,1309],{"class":507},[477,3142,954],{"class":953},[477,3144,908],{"class":507},[477,3146,1332],{"class":963},[477,3148,968],{"class":967},[477,3150,3151],{"class":904},"st_info",[477,3153,573],{"class":507},[477,3155,3019],{"class":963},[477,3157,968],{"class":967},[477,3159,1965],{"class":1957},[477,3161,3162],{"class":1961},"~N·D³",[477,3164,1965],{"class":1957},[477,3166,573],{"class":507},[477,3168,3033],{"class":963},[477,3170,968],{"class":967},[477,3172,3127],{"class":911},[477,3174,982],{"class":507},[477,3176,3177,3179,3182,3184,3186,3188,3190,3192,3194,3197,3199,3201,3203,3205,3208,3210,3212,3214,3216,3219],{"class":479,"line":1649},[477,3178,2997],{"class":1957},[477,3180,3181],{"class":1961},"EnKF (E=32)",[477,3183,1965],{"class":1957},[477,3185,1309],{"class":507},[477,3187,954],{"class":953},[477,3189,908],{"class":507},[477,3191,1332],{"class":963},[477,3193,968],{"class":967},[477,3195,3196],{"class":904},"st_enkf",[477,3198,573],{"class":507},[477,3200,3019],{"class":963},[477,3202,968],{"class":967},[477,3204,1965],{"class":1957},[477,3206,3207],{"class":1961},"N·(E²D+E³)",[477,3209,1965],{"class":1957},[477,3211,573],{"class":507},[477,3213,3033],{"class":963},[477,3215,968],{"class":967},[477,3217,3218],{"class":911},"4",[477,3220,982],{"class":507},[477,3222,3223,3225,3228,3230,3232,3234,3236,3238,3240,3243,3245,3247,3249,3251,3254,3256,3258,3260,3262,3264],{"class":479,"line":1660},[477,3224,2997],{"class":1957},[477,3226,3227],{"class":1961},"gallery (K=8)",[477,3229,1965],{"class":1957},[477,3231,1309],{"class":507},[477,3233,954],{"class":953},[477,3235,908],{"class":507},[477,3237,1332],{"class":963},[477,3239,968],{"class":967},[477,3241,3242],{"class":904},"st_gallery",[477,3244,573],{"class":507},[477,3246,3019],{"class":963},[477,3248,968],{"class":967},[477,3250,1965],{"class":1957},[477,3252,3253],{"class":1961},"N·D  (+K·matching)",[477,3255,1965],{"class":1957},[477,3257,573],{"class":507},[477,3259,3033],{"class":963},[477,3261,968],{"class":967},[477,3263,2700],{"class":911},[477,3265,982],{"class":507},[477,3267,3268,3270,3272,3274,3276,3278,3280,3282,3284,3287,3289,3291,3293,3295,3298,3300,3302,3304,3306,3308],{"class":479,"line":1680},[477,3269,2997],{"class":1957},[477,3271,309],{"class":1961},[477,3273,1965],{"class":1957},[477,3275,1309],{"class":507},[477,3277,954],{"class":953},[477,3279,908],{"class":507},[477,3281,1332],{"class":963},[477,3283,968],{"class":967},[477,3285,3286],{"class":904},"st_learned",[477,3288,573],{"class":507},[477,3290,3019],{"class":963},[477,3292,968],{"class":967},[477,3294,1965],{"class":1957},[477,3296,3297],{"class":1961},"2·N·D·H  (+train)",[477,3299,1965],{"class":1957},[477,3301,573],{"class":507},[477,3303,3033],{"class":963},[477,3305,968],{"class":967},[477,3307,1803],{"class":911},[477,3309,982],{"class":507},[477,3311,3312],{"class":479,"line":1706},[477,3313,3314],{"class":507},"}\n",[477,3316,3317,3320,3322,3324,3327,3329,3331,3334,3336,3338],{"class":479,"line":1723},[477,3318,3319],{"class":1818},"print",[477,3321,908],{"class":507},[477,3323,1965],{"class":1957},[477,3325,3326],{"class":1961},"methods:",[477,3328,1965],{"class":1957},[477,3330,573],{"class":507},[477,3332,3333],{"class":953}," list",[477,3335,908],{"class":507},[477,3337,2987],{"class":1818},[477,3339,2674],{"class":507},[3341,3342],"docyard-notebook-output",{"data":3343,"kind":3344},"bWV0aG9kczogWydFTUEnLCAnZGlhZy1LYWxtYW4nLCAndk1GJywgJ2luZm8tZmlsdGVyJywgJ0VuS0YgKEU9MzIpJywgJ2dhbGxlcnkgKEs9OCknLCAnbGVhcm5lZCddCg==","stream",[3346,3347,3349,3350],"h2",{"id":3348},"_1-compute-flops-and-how-they-scale-with-d","1 — Compute: FLOPs and how they scale with ",[342,3351,353],{},[338,3353,3354,3355,1886,3357,3360,3361,3363,3364,3367,3368,3370,3371,3374,3375,3378,3379,3382,3383,3386,3387,3390,3391,3394,3395,3398,3399,3402,3403,508],{},"The dominant FLOPs of one ",[347,3356,453],{},[342,3358,3359],{},"N"," tracks, ",[342,3362,353],{}," dims;\n",[342,3365,3366],{},"E"," ensemble members, ",[342,3369,435],{}," gallery slots, ",[342,3372,3373],{},"H"," MLP width). The split is\nthe whole point: the dense Gaussian filters are ",[342,3376,3377],{},"O(D³)"," per update\n(a ",[342,3380,3381],{},"D×D"," solve), which is fine at ",[342,3384,3385],{},"D=16"," but ruinous at the ",[342,3388,3389],{},"D=256+","\nof a real ReID\u002FDETR embedding. EMA, vMF and the learned MLP are\n",[342,3392,3393],{},"O(D)","; the EnKF trades the ",[342,3396,3397],{},"D³"," for ",[342,3400,3401],{},"E²D+E³",", paying off once\n",[342,3404,3405],{},"E ≪ D",[468,3407,3409],{"className":470,"code":3408,"language":472,"meta":473,"style":473},"D_BENCH, N_BENCH = 256, 8\nrows = []\nwith torch.no_grad():\n    for name, meta in METHODS.items():\n        st = meta[\"make\"](D_BENCH)\n        cs, ds = spawn(st, N_BENCH, D_BENCH)\n        m = match_n(N_BENCH)\n        ctx = FrameContext.make(1, delta=1.0)\n        meta[\"us256\"] = time_us(\n            lambda st=st, cs=cs, ds=ds, m=m, ctx=ctx: step_update(st, cs, ds, m, ctx)\n        )\n        rows.append((name, meta[\"flops\"], meta[\"us256\"]))\nprint(f\"state-update cost at D={D_BENCH}, N={N_BENCH}:\")\nfor n, f, u in rows:\n    print(f\"  {n:14s} {f:22s} {u:9.1f} us\")\n\nfig, ax = plt.subplots(figsize=(9, 4))\nnames = [r[0] for r in rows]\nus = [r[2] for r in rows]\nax.barh(names, us, color=\"tab:blue\")\nax.set_xscale(\"log\")\nax.set_xlabel(\"microseconds \u002F update (log scale)\")\nax.set_title(f\"State-update wall-clock at D={D_BENCH} (N={N_BENCH} tracks)\")\nfor i, u in enumerate(us):\n    ax.text(u, i, f\" {u:.0f}\", va=\"center\", fontsize=8)\nax.grid(alpha=0.3, axis=\"x\")\nplt.tight_layout()\nplt.show()\n\n",[342,3410,3411,3431,3441,3455,3478,3503,3533,3549,3577,3600,3672,3676,3719,3753,3778,3823,3827,3866,3897,3924,3960,3980,4000,4036,4059,4120,4154,4166],{"__ignoreMap":473},[477,3412,3413,3416,3418,3421,3423,3426,3428],{"class":479,"line":480},[477,3414,3415],{"class":2986},"D_BENCH",[477,3417,573],{"class":507},[477,3419,3420],{"class":2986}," N_BENCH",[477,3422,2990],{"class":967},[477,3424,3425],{"class":911}," 256",[477,3427,573],{"class":507},[477,3429,3430],{"class":911}," 8\n",[477,3432,3433,3436,3438],{"class":479,"line":491},[477,3434,3435],{"class":487},"rows ",[477,3437,968],{"class":967},[477,3439,3440],{"class":507}," []\n",[477,3442,3443,3446,3448,3450,3453],{"class":479,"line":499},[477,3444,3445],{"class":483},"with",[477,3447,504],{"class":487},[477,3449,508],{"class":507},[477,3451,3452],{"class":904},"no_grad",[477,3454,1677],{"class":507},[477,3456,3457,3459,3462,3464,3467,3469,3472,3474,3476],{"class":479,"line":521},[477,3458,1663],{"class":483},[477,3460,3461],{"class":487}," name",[477,3463,573],{"class":507},[477,3465,3466],{"class":487}," meta ",[477,3468,1353],{"class":483},[477,3470,3471],{"class":2986}," METHODS",[477,3473,508],{"class":507},[477,3475,1361],{"class":904},[477,3477,1677],{"class":507},[477,3479,3480,3483,3485,3488,3490,3492,3494,3496,3499,3501],{"class":479,"line":539},[477,3481,3482],{"class":487},"        st ",[477,3484,968],{"class":967},[477,3486,3487],{"class":487}," meta",[477,3489,1287],{"class":507},[477,3491,1965],{"class":1957},[477,3493,1332],{"class":1961},[477,3495,1965],{"class":1957},[477,3497,3498],{"class":507},"](",[477,3500,3415],{"class":1818},[477,3502,667],{"class":507},[477,3504,3505,3508,3510,3513,3515,3517,3519,3522,3524,3526,3528,3531],{"class":479,"line":546},[477,3506,3507],{"class":487},"        cs",[477,3509,573],{"class":507},[477,3511,3512],{"class":487}," ds ",[477,3514,968],{"class":967},[477,3516,1211],{"class":904},[477,3518,908],{"class":507},[477,3520,3521],{"class":904},"st",[477,3523,573],{"class":507},[477,3525,3420],{"class":1818},[477,3527,573],{"class":507},[477,3529,3530],{"class":1818}," D_BENCH",[477,3532,667],{"class":507},[477,3534,3535,3538,3540,3542,3544,3547],{"class":479,"line":554},[477,3536,3537],{"class":487},"        m ",[477,3539,968],{"class":967},[477,3541,1426],{"class":904},[477,3543,908],{"class":507},[477,3545,3546],{"class":1818},"N_BENCH",[477,3548,667],{"class":507},[477,3550,3551,3554,3556,3558,3560,3562,3564,3566,3568,3571,3573,3575],{"class":479,"line":584},[477,3552,3553],{"class":487},"        ctx ",[477,3555,968],{"class":967},[477,3557,1327],{"class":487},[477,3559,508],{"class":507},[477,3561,1332],{"class":904},[477,3563,908],{"class":507},[477,3565,2853],{"class":911},[477,3567,573],{"class":507},[477,3569,3570],{"class":963}," delta",[477,3572,968],{"class":967},[477,3574,2512],{"class":911},[477,3576,667],{"class":507},[477,3578,3579,3582,3584,3586,3589,3591,3594,3596,3598],{"class":479,"line":606},[477,3580,3581],{"class":487},"        meta",[477,3583,1287],{"class":507},[477,3585,1965],{"class":1957},[477,3587,3588],{"class":1961},"us256",[477,3590,1965],{"class":1957},[477,3592,3593],{"class":507},"]",[477,3595,2990],{"class":967},[477,3597,1778],{"class":904},[477,3599,957],{"class":507},[477,3601,3602,3605,3607,3609,3611,3613,3615,3617,3620,3622,3624,3626,3628,3630,3632,3634,3637,3639,3641,3643,3646,3648,3650,3652,3654,3656,3658,3660,3662,3664,3666,3668,3670],{"class":479,"line":623},[477,3603,3604],{"class":930},"            lambda",[477,3606,1312],{"class":940},[477,3608,968],{"class":967},[477,3610,3521],{"class":904},[477,3612,573],{"class":507},[477,3614,1629],{"class":940},[477,3616,968],{"class":967},[477,3618,3619],{"class":904},"cs",[477,3621,573],{"class":507},[477,3623,1634],{"class":940},[477,3625,968],{"class":967},[477,3627,1322],{"class":904},[477,3629,573],{"class":507},[477,3631,1639],{"class":940},[477,3633,968],{"class":967},[477,3635,3636],{"class":904},"m",[477,3638,573],{"class":507},[477,3640,1644],{"class":940},[477,3642,968],{"class":967},[477,3644,3645],{"class":904},"ctx",[477,3647,1309],{"class":507},[477,3649,1620],{"class":904},[477,3651,908],{"class":507},[477,3653,3521],{"class":904},[477,3655,573],{"class":507},[477,3657,1629],{"class":904},[477,3659,573],{"class":507},[477,3661,1634],{"class":904},[477,3663,573],{"class":507},[477,3665,1639],{"class":904},[477,3667,573],{"class":507},[477,3669,1644],{"class":904},[477,3671,667],{"class":507},[477,3673,3674],{"class":479,"line":632},[477,3675,2047],{"class":507},[477,3677,3678,3681,3683,3686,3688,3691,3693,3695,3697,3699,3702,3704,3706,3708,3710,3712,3714,3716],{"class":479,"line":640},[477,3679,3680],{"class":487},"        rows",[477,3682,508],{"class":507},[477,3684,3685],{"class":904},"append",[477,3687,1000],{"class":507},[477,3689,3690],{"class":904},"name",[477,3692,573],{"class":507},[477,3694,3487],{"class":904},[477,3696,1287],{"class":507},[477,3698,1965],{"class":1957},[477,3700,3701],{"class":1961},"flops",[477,3703,1965],{"class":1957},[477,3705,2931],{"class":507},[477,3707,3487],{"class":904},[477,3709,1287],{"class":507},[477,3711,1965],{"class":1957},[477,3713,3588],{"class":1961},[477,3715,1965],{"class":1957},[477,3717,3718],{"class":507},"]))\n",[477,3720,3721,3723,3725,3728,3731,3734,3736,3739,3742,3744,3746,3748,3751],{"class":479,"line":648},[477,3722,3319],{"class":1818},[477,3724,908],{"class":507},[477,3726,3727],{"class":930},"f",[477,3729,3730],{"class":1961},"\"state-update cost at D=",[477,3732,3733],{"class":911},"{",[477,3735,3415],{"class":1818},[477,3737,3738],{"class":911},"}",[477,3740,3741],{"class":1961},", N=",[477,3743,3733],{"class":911},[477,3745,3546],{"class":1818},[477,3747,3738],{"class":911},[477,3749,3750],{"class":1961},":\"",[477,3752,667],{"class":507},[477,3754,3755,3758,3760,3762,3765,3767,3770,3772,3775],{"class":479,"line":656},[477,3756,3757],{"class":483},"for",[477,3759,1220],{"class":487},[477,3761,573],{"class":507},[477,3763,3764],{"class":487}," f",[477,3766,573],{"class":507},[477,3768,3769],{"class":487}," u ",[477,3771,1353],{"class":483},[477,3773,3774],{"class":487}," rows",[477,3776,3777],{"class":507},":\n",[477,3779,3780,3783,3785,3787,3790,3792,3794,3797,3799,3801,3803,3806,3808,3810,3813,3816,3818,3821],{"class":479,"line":664},[477,3781,3782],{"class":1818},"    print",[477,3784,908],{"class":507},[477,3786,3727],{"class":930},[477,3788,3789],{"class":1961},"\"  ",[477,3791,3733],{"class":911},[477,3793,941],{"class":904},[477,3795,3796],{"class":930},":14s",[477,3798,3738],{"class":911},[477,3800,1303],{"class":911},[477,3802,3727],{"class":904},[477,3804,3805],{"class":930},":22s",[477,3807,3738],{"class":911},[477,3809,1303],{"class":911},[477,3811,3812],{"class":904},"u",[477,3814,3815],{"class":930},":9.1f",[477,3817,3738],{"class":911},[477,3819,3820],{"class":1961}," us\"",[477,3822,667],{"class":507},[477,3824,3825],{"class":479,"line":670},[477,3826,543],{"emptyLinePlaceholder":542},[477,3828,3829,3832,3834,3837,3839,3842,3844,3847,3849,3852,3854,3856,3859,3861,3864],{"class":479,"line":692},[477,3830,3831],{"class":487},"fig",[477,3833,573],{"class":507},[477,3835,3836],{"class":487}," ax ",[477,3838,968],{"class":967},[477,3840,3841],{"class":487}," plt",[477,3843,508],{"class":507},[477,3845,3846],{"class":904},"subplots",[477,3848,908],{"class":507},[477,3850,3851],{"class":963},"figsize",[477,3853,968],{"class":967},[477,3855,908],{"class":507},[477,3857,3858],{"class":911},"9",[477,3860,573],{"class":507},[477,3862,3863],{"class":911}," 4",[477,3865,2674],{"class":507},[477,3867,3868,3871,3873,3876,3879,3881,3883,3885,3887,3890,3892,3894],{"class":479,"line":709},[477,3869,3870],{"class":487},"names ",[477,3872,968],{"class":967},[477,3874,3875],{"class":507}," [",[477,3877,3878],{"class":487},"r",[477,3880,1287],{"class":507},[477,3882,912],{"class":911},[477,3884,3593],{"class":507},[477,3886,1342],{"class":483},[477,3888,3889],{"class":487}," r ",[477,3891,1353],{"class":483},[477,3893,3774],{"class":487},[477,3895,3896],{"class":507},"]\n",[477,3898,3899,3902,3904,3906,3908,3910,3912,3914,3916,3918,3920,3922],{"class":479,"line":725},[477,3900,3901],{"class":487},"us ",[477,3903,968],{"class":967},[477,3905,3875],{"class":507},[477,3907,3878],{"class":487},[477,3909,1287],{"class":507},[477,3911,2700],{"class":911},[477,3913,3593],{"class":507},[477,3915,1342],{"class":483},[477,3917,3889],{"class":487},[477,3919,1353],{"class":483},[477,3921,3774],{"class":487},[477,3923,3896],{"class":507},[477,3925,3926,3929,3931,3934,3936,3939,3941,3944,3946,3949,3951,3953,3956,3958],{"class":479,"line":733},[477,3927,3928],{"class":487},"ax",[477,3930,508],{"class":507},[477,3932,3933],{"class":904},"barh",[477,3935,908],{"class":507},[477,3937,3938],{"class":904},"names",[477,3940,573],{"class":507},[477,3942,3943],{"class":904}," us",[477,3945,573],{"class":507},[477,3947,3948],{"class":963}," color",[477,3950,968],{"class":967},[477,3952,1965],{"class":1957},[477,3954,3955],{"class":1961},"tab:blue",[477,3957,1965],{"class":1957},[477,3959,667],{"class":507},[477,3961,3962,3964,3966,3969,3971,3973,3976,3978],{"class":479,"line":741},[477,3963,3928],{"class":487},[477,3965,508],{"class":507},[477,3967,3968],{"class":904},"set_xscale",[477,3970,908],{"class":507},[477,3972,1965],{"class":1957},[477,3974,3975],{"class":1961},"log",[477,3977,1965],{"class":1957},[477,3979,667],{"class":507},[477,3981,3982,3984,3986,3989,3991,3993,3996,3998],{"class":479,"line":749},[477,3983,3928],{"class":487},[477,3985,508],{"class":507},[477,3987,3988],{"class":904},"set_xlabel",[477,3990,908],{"class":507},[477,3992,1965],{"class":1957},[477,3994,3995],{"class":1961},"microseconds \u002F update (log scale)",[477,3997,1965],{"class":1957},[477,3999,667],{"class":507},[477,4001,4002,4004,4006,4009,4011,4013,4016,4018,4020,4022,4025,4027,4029,4031,4034],{"class":479,"line":757},[477,4003,3928],{"class":487},[477,4005,508],{"class":507},[477,4007,4008],{"class":904},"set_title",[477,4010,908],{"class":507},[477,4012,3727],{"class":930},[477,4014,4015],{"class":1961},"\"State-update wall-clock at D=",[477,4017,3733],{"class":911},[477,4019,3415],{"class":1818},[477,4021,3738],{"class":911},[477,4023,4024],{"class":1961}," (N=",[477,4026,3733],{"class":911},[477,4028,3546],{"class":1818},[477,4030,3738],{"class":911},[477,4032,4033],{"class":1961}," tracks)\"",[477,4035,667],{"class":507},[477,4037,4038,4040,4043,4045,4047,4049,4052,4054,4057],{"class":479,"line":765},[477,4039,3757],{"class":483},[477,4041,4042],{"class":487}," i",[477,4044,573],{"class":507},[477,4046,3769],{"class":487},[477,4048,1353],{"class":483},[477,4050,4051],{"class":1818}," enumerate",[477,4053,908],{"class":507},[477,4055,4056],{"class":904},"us",[477,4058,944],{"class":507},[477,4060,4061,4064,4066,4069,4071,4073,4075,4077,4079,4081,4084,4086,4088,4091,4093,4095,4097,4100,4102,4104,4107,4109,4111,4114,4116,4118],{"class":479,"line":773},[477,4062,4063],{"class":487},"    ax",[477,4065,508],{"class":507},[477,4067,4068],{"class":904},"text",[477,4070,908],{"class":507},[477,4072,3812],{"class":904},[477,4074,573],{"class":507},[477,4076,4042],{"class":904},[477,4078,573],{"class":507},[477,4080,3764],{"class":930},[477,4082,4083],{"class":1961},"\" ",[477,4085,3733],{"class":911},[477,4087,3812],{"class":904},[477,4089,4090],{"class":930},":.0f",[477,4092,3738],{"class":911},[477,4094,1965],{"class":1961},[477,4096,573],{"class":507},[477,4098,4099],{"class":963}," va",[477,4101,968],{"class":967},[477,4103,1965],{"class":1957},[477,4105,4106],{"class":1961},"center",[477,4108,1965],{"class":1957},[477,4110,573],{"class":507},[477,4112,4113],{"class":963}," fontsize",[477,4115,968],{"class":967},[477,4117,2588],{"class":911},[477,4119,667],{"class":507},[477,4121,4122,4124,4126,4129,4131,4134,4136,4139,4141,4144,4146,4148,4150,4152],{"class":479,"line":781},[477,4123,3928],{"class":487},[477,4125,508],{"class":507},[477,4127,4128],{"class":904},"grid",[477,4130,908],{"class":507},[477,4132,4133],{"class":963},"alpha",[477,4135,968],{"class":967},[477,4137,4138],{"class":911},"0.3",[477,4140,573],{"class":507},[477,4142,4143],{"class":963}," axis",[477,4145,968],{"class":967},[477,4147,1965],{"class":1957},[477,4149,2843],{"class":1961},[477,4151,1965],{"class":1957},[477,4153,667],{"class":507},[477,4155,4156,4159,4161,4164],{"class":479,"line":789},[477,4157,4158],{"class":487},"plt",[477,4160,508],{"class":507},[477,4162,4163],{"class":904},"tight_layout",[477,4165,1835],{"class":507},[477,4167,4168,4170,4172,4175],{"class":479,"line":797},[477,4169,4158],{"class":487},[477,4171,508],{"class":507},[477,4173,4174],{"class":904},"show",[477,4176,1835],{"class":507},[3341,4178],{"data":4179,"kind":3344},"c3RhdGUtdXBkYXRlIGNvc3QgYXQgRD0yNTYsIE49ODoKICBFTUEgICAgICAgICAgICAywrdOwrdEICAgICAgICAgICAgICAgICAgICAgICA1Ni4wIHVzCiAgZGlhZy1LYWxtYW4gICAgfk7Ct0TCsyAoZGVuc2UpICAgICAgICAgICAgMjIzOTMuMyB1cwogIHZNRiAgICAgICAgICAgIH40wrdOwrdEICAgICAgICAgICAgICAgICAgICAgMzU5LjUgdXMKICBpbmZvLWZpbHRlciAgICB+TsK3RMKzICAgICAgICAgICAgICAgICAgICAgOTYzNC43IHVzCiAgRW5LRiAoRT0zMikgICAgTsK3KEXCskQrRcKzKSAgICAgICAgICAgICAgICAyMTQ3LjQgdXMKICBnYWxsZXJ5IChLPTgpICBOwrdEICAoK0vCt21hdGNoaW5nKSAgICAgICAgIDIxNS44IHVzCiAgbGVhcm5lZCAgICAgICAgMsK3TsK3RMK3SCAgKCt0cmFpbikgICAgICAgICAgNDk4LjEgdXMK",[338,4181,4182],{},[4183,4184],"img",{"alt":473,"src":4185},"\u002F_nb\u002F6f5e2309bf9e59cc.png",[468,4187,4189],{"className":470,"code":4188,"language":472,"meta":473,"style":473},"# Scaling with D: the O(D^3) filters curve up; the rest stay flat.\nDIMS = [16, 32, 64, 128, 256]\ncurves = {name: [] for name in METHODS}\nwith torch.no_grad():\n    for D in DIMS:\n        for name, meta in METHODS.items():\n            st = meta[\"make\"](D)\n            cs, ds = spawn(st, N_BENCH, D)\n            m = match_n(N_BENCH)\n            ctx = FrameContext.make(1, delta=1.0)\n            curves[name].append(\n                time_us(\n                    lambda st=st, cs=cs, ds=ds, m=m, ctx=ctx: step_update(\n                        st, cs, ds, m, ctx\n                    ),\n                    iters=25,\n                )\n            )\nfig, ax = plt.subplots(figsize=(8, 5))\nfor name, ys in curves.items():\n    ax.plot(DIMS, ys, \"o-\", ms=4, label=name)\nax.set_xscale(\"log\", base=2)\nax.set_yscale(\"log\")\nax.set_xlabel(\"embedding dim D\")\nax.set_ylabel(\"microseconds \u002F update\")\nax.set_title(\n    \"Update cost vs D — dense Kalman\u002Finfo are O(D³); EnKF & O(D) methods are not\"\n)\nax.legend(fontsize=8)\nax.grid(alpha=0.3, which=\"both\")\nplt.tight_layout()\nplt.show()\n\n",[342,4190,4191,4196,4228,4255,4267,4281,4302,4325,4352,4367,4394,4410,4417,4466,4488,4493,4505,4510,4515,4548,4570,4617,4644,4663,4682,4702,4712,4722,4726,4746,4778,4788],{"__ignoreMap":473},[477,4192,4193],{"class":479,"line":480},[477,4194,4195],{"class":1926},"# Scaling with D: the O(D^3) filters curve up; the rest stay flat.\n",[477,4197,4198,4201,4203,4205,4208,4210,4213,4215,4217,4219,4222,4224,4226],{"class":479,"line":491},[477,4199,4200],{"class":2986},"DIMS",[477,4202,2990],{"class":967},[477,4204,3875],{"class":507},[477,4206,4207],{"class":911},"16",[477,4209,573],{"class":507},[477,4211,4212],{"class":911}," 32",[477,4214,573],{"class":507},[477,4216,2644],{"class":911},[477,4218,573],{"class":507},[477,4220,4221],{"class":911}," 128",[477,4223,573],{"class":507},[477,4225,3425],{"class":911},[477,4227,3896],{"class":507},[477,4229,4230,4233,4235,4237,4239,4241,4244,4246,4249,4251,4253],{"class":479,"line":499},[477,4231,4232],{"class":487},"curves ",[477,4234,968],{"class":967},[477,4236,1303],{"class":507},[477,4238,3690],{"class":487},[477,4240,1309],{"class":507},[477,4242,4243],{"class":507}," []",[477,4245,1342],{"class":483},[477,4247,4248],{"class":487}," name ",[477,4250,1353],{"class":483},[477,4252,3471],{"class":2986},[477,4254,3314],{"class":507},[477,4256,4257,4259,4261,4263,4265],{"class":479,"line":521},[477,4258,3445],{"class":483},[477,4260,504],{"class":487},[477,4262,508],{"class":507},[477,4264,3452],{"class":904},[477,4266,1677],{"class":507},[477,4268,4269,4271,4274,4276,4279],{"class":479,"line":539},[477,4270,1663],{"class":483},[477,4272,4273],{"class":487}," D ",[477,4275,1353],{"class":483},[477,4277,4278],{"class":2986}," DIMS",[477,4280,3777],{"class":507},[477,4282,4283,4286,4288,4290,4292,4294,4296,4298,4300],{"class":479,"line":546},[477,4284,4285],{"class":483},"        for",[477,4287,3461],{"class":487},[477,4289,573],{"class":507},[477,4291,3466],{"class":487},[477,4293,1353],{"class":483},[477,4295,3471],{"class":2986},[477,4297,508],{"class":507},[477,4299,1361],{"class":904},[477,4301,1677],{"class":507},[477,4303,4304,4307,4309,4311,4313,4315,4317,4319,4321,4323],{"class":479,"line":554},[477,4305,4306],{"class":487},"            st ",[477,4308,968],{"class":967},[477,4310,3487],{"class":487},[477,4312,1287],{"class":507},[477,4314,1965],{"class":1957},[477,4316,1332],{"class":1961},[477,4318,1965],{"class":1957},[477,4320,3498],{"class":507},[477,4322,353],{"class":904},[477,4324,667],{"class":507},[477,4326,4327,4330,4332,4334,4336,4338,4340,4342,4344,4346,4348,4350],{"class":479,"line":584},[477,4328,4329],{"class":487},"            cs",[477,4331,573],{"class":507},[477,4333,3512],{"class":487},[477,4335,968],{"class":967},[477,4337,1211],{"class":904},[477,4339,908],{"class":507},[477,4341,3521],{"class":904},[477,4343,573],{"class":507},[477,4345,3420],{"class":1818},[477,4347,573],{"class":507},[477,4349,2257],{"class":904},[477,4351,667],{"class":507},[477,4353,4354,4357,4359,4361,4363,4365],{"class":479,"line":606},[477,4355,4356],{"class":487},"            m ",[477,4358,968],{"class":967},[477,4360,1426],{"class":904},[477,4362,908],{"class":507},[477,4364,3546],{"class":1818},[477,4366,667],{"class":507},[477,4368,4369,4372,4374,4376,4378,4380,4382,4384,4386,4388,4390,4392],{"class":479,"line":623},[477,4370,4371],{"class":487},"            ctx ",[477,4373,968],{"class":967},[477,4375,1327],{"class":487},[477,4377,508],{"class":507},[477,4379,1332],{"class":904},[477,4381,908],{"class":507},[477,4383,2853],{"class":911},[477,4385,573],{"class":507},[477,4387,3570],{"class":963},[477,4389,968],{"class":967},[477,4391,2512],{"class":911},[477,4393,667],{"class":507},[477,4395,4396,4399,4401,4403,4406,4408],{"class":479,"line":632},[477,4397,4398],{"class":487},"            curves",[477,4400,1287],{"class":507},[477,4402,3690],{"class":487},[477,4404,4405],{"class":507},"].",[477,4407,3685],{"class":904},[477,4409,957],{"class":507},[477,4411,4412,4415],{"class":479,"line":640},[477,4413,4414],{"class":904},"                time_us",[477,4416,957],{"class":507},[477,4418,4419,4422,4424,4426,4428,4430,4432,4434,4436,4438,4440,4442,4444,4446,4448,4450,4452,4454,4456,4458,4460,4462,4464],{"class":479,"line":648},[477,4420,4421],{"class":930},"                    lambda",[477,4423,1312],{"class":940},[477,4425,968],{"class":967},[477,4427,3521],{"class":904},[477,4429,573],{"class":507},[477,4431,1629],{"class":940},[477,4433,968],{"class":967},[477,4435,3619],{"class":904},[477,4437,573],{"class":507},[477,4439,1634],{"class":940},[477,4441,968],{"class":967},[477,4443,1322],{"class":904},[477,4445,573],{"class":507},[477,4447,1639],{"class":940},[477,4449,968],{"class":967},[477,4451,3636],{"class":904},[477,4453,573],{"class":507},[477,4455,1644],{"class":940},[477,4457,968],{"class":967},[477,4459,3645],{"class":904},[477,4461,1309],{"class":507},[477,4463,1620],{"class":904},[477,4465,957],{"class":507},[477,4467,4468,4471,4473,4475,4477,4479,4481,4483,4485],{"class":479,"line":656},[477,4469,4470],{"class":904},"                        st",[477,4472,573],{"class":507},[477,4474,1629],{"class":904},[477,4476,573],{"class":507},[477,4478,1634],{"class":904},[477,4480,573],{"class":507},[477,4482,1639],{"class":904},[477,4484,573],{"class":507},[477,4486,4487],{"class":904}," ctx\n",[477,4489,4490],{"class":479,"line":664},[477,4491,4492],{"class":507},"                    ),\n",[477,4494,4495,4498,4500,4503],{"class":479,"line":670},[477,4496,4497],{"class":963},"                    iters",[477,4499,968],{"class":967},[477,4501,4502],{"class":911},"25",[477,4504,629],{"class":507},[477,4506,4507],{"class":479,"line":692},[477,4508,4509],{"class":507},"                )\n",[477,4511,4512],{"class":479,"line":709},[477,4513,4514],{"class":507},"            )\n",[477,4516,4517,4519,4521,4523,4525,4527,4529,4531,4533,4535,4537,4539,4541,4543,4546],{"class":479,"line":725},[477,4518,3831],{"class":487},[477,4520,573],{"class":507},[477,4522,3836],{"class":487},[477,4524,968],{"class":967},[477,4526,3841],{"class":487},[477,4528,508],{"class":507},[477,4530,3846],{"class":904},[477,4532,908],{"class":507},[477,4534,3851],{"class":963},[477,4536,968],{"class":967},[477,4538,908],{"class":507},[477,4540,2588],{"class":911},[477,4542,573],{"class":507},[477,4544,4545],{"class":911}," 5",[477,4547,2674],{"class":507},[477,4549,4550,4552,4554,4556,4559,4561,4564,4566,4568],{"class":479,"line":733},[477,4551,3757],{"class":483},[477,4553,3461],{"class":487},[477,4555,573],{"class":507},[477,4557,4558],{"class":487}," ys ",[477,4560,1353],{"class":483},[477,4562,4563],{"class":487}," curves",[477,4565,508],{"class":507},[477,4567,1361],{"class":904},[477,4569,1677],{"class":507},[477,4571,4572,4574,4576,4579,4581,4583,4585,4588,4590,4592,4595,4597,4599,4602,4604,4606,4608,4611,4613,4615],{"class":479,"line":741},[477,4573,4063],{"class":487},[477,4575,508],{"class":507},[477,4577,4578],{"class":904},"plot",[477,4580,908],{"class":507},[477,4582,4200],{"class":1818},[477,4584,573],{"class":507},[477,4586,4587],{"class":904}," ys",[477,4589,573],{"class":507},[477,4591,2192],{"class":1957},[477,4593,4594],{"class":1961},"o-",[477,4596,1965],{"class":1957},[477,4598,573],{"class":507},[477,4600,4601],{"class":963}," ms",[477,4603,968],{"class":967},[477,4605,3218],{"class":911},[477,4607,573],{"class":507},[477,4609,4610],{"class":963}," label",[477,4612,968],{"class":967},[477,4614,3690],{"class":904},[477,4616,667],{"class":507},[477,4618,4619,4621,4623,4625,4627,4629,4631,4633,4635,4638,4640,4642],{"class":479,"line":749},[477,4620,3928],{"class":487},[477,4622,508],{"class":507},[477,4624,3968],{"class":904},[477,4626,908],{"class":507},[477,4628,1965],{"class":1957},[477,4630,3975],{"class":1961},[477,4632,1965],{"class":1957},[477,4634,573],{"class":507},[477,4636,4637],{"class":963}," base",[477,4639,968],{"class":967},[477,4641,2700],{"class":911},[477,4643,667],{"class":507},[477,4645,4646,4648,4650,4653,4655,4657,4659,4661],{"class":479,"line":757},[477,4647,3928],{"class":487},[477,4649,508],{"class":507},[477,4651,4652],{"class":904},"set_yscale",[477,4654,908],{"class":507},[477,4656,1965],{"class":1957},[477,4658,3975],{"class":1961},[477,4660,1965],{"class":1957},[477,4662,667],{"class":507},[477,4664,4665,4667,4669,4671,4673,4675,4678,4680],{"class":479,"line":765},[477,4666,3928],{"class":487},[477,4668,508],{"class":507},[477,4670,3988],{"class":904},[477,4672,908],{"class":507},[477,4674,1965],{"class":1957},[477,4676,4677],{"class":1961},"embedding dim D",[477,4679,1965],{"class":1957},[477,4681,667],{"class":507},[477,4683,4684,4686,4688,4691,4693,4695,4698,4700],{"class":479,"line":773},[477,4685,3928],{"class":487},[477,4687,508],{"class":507},[477,4689,4690],{"class":904},"set_ylabel",[477,4692,908],{"class":507},[477,4694,1965],{"class":1957},[477,4696,4697],{"class":1961},"microseconds \u002F update",[477,4699,1965],{"class":1957},[477,4701,667],{"class":507},[477,4703,4704,4706,4708,4710],{"class":479,"line":781},[477,4705,3928],{"class":487},[477,4707,508],{"class":507},[477,4709,4008],{"class":904},[477,4711,957],{"class":507},[477,4713,4714,4716,4719],{"class":479,"line":789},[477,4715,2997],{"class":1957},[477,4717,4718],{"class":1961},"Update cost vs D — dense Kalman\u002Finfo are O(D³); EnKF & O(D) methods are not",[477,4720,4721],{"class":1957},"\"\n",[477,4723,4724],{"class":479,"line":797},[477,4725,667],{"class":507},[477,4727,4728,4730,4732,4735,4737,4740,4742,4744],{"class":479,"line":805},[477,4729,3928],{"class":487},[477,4731,508],{"class":507},[477,4733,4734],{"class":904},"legend",[477,4736,908],{"class":507},[477,4738,4739],{"class":963},"fontsize",[477,4741,968],{"class":967},[477,4743,2588],{"class":911},[477,4745,667],{"class":507},[477,4747,4748,4750,4752,4754,4756,4758,4760,4762,4764,4767,4769,4771,4774,4776],{"class":479,"line":813},[477,4749,3928],{"class":487},[477,4751,508],{"class":507},[477,4753,4128],{"class":904},[477,4755,908],{"class":507},[477,4757,4133],{"class":963},[477,4759,968],{"class":967},[477,4761,4138],{"class":911},[477,4763,573],{"class":507},[477,4765,4766],{"class":963}," which",[477,4768,968],{"class":967},[477,4770,1965],{"class":1957},[477,4772,4773],{"class":1961},"both",[477,4775,1965],{"class":1957},[477,4777,667],{"class":507},[477,4779,4780,4782,4784,4786],{"class":479,"line":821},[477,4781,4158],{"class":487},[477,4783,508],{"class":507},[477,4785,4163],{"class":904},[477,4787,1835],{"class":507},[477,4789,4790,4792,4794,4796],{"class":479,"line":829},[477,4791,4158],{"class":487},[477,4793,508],{"class":507},[477,4795,4174],{"class":904},[477,4797,1835],{"class":507},[338,4799,4800],{},[4183,4801],{"alt":473,"src":4802},"\u002F_nb\u002Febc816bcd57632e8.png",[338,4804,4805],{},"Two honest caveats the benchmark exposes:",[4807,4808,4809,4833],"ul",{},[4810,4811,4812,4813,4815,4816,4819,4820,4822,4823,4825,4826,4829,4830,4832],"li",{},"The shipped ",[347,4814,395],{}," uses the generic dense\n",[342,4817,4818],{},"KalmanLinear",", so it is ",[342,4821,3377],{}," here. A diagonal-specialised\nimplementation would be ",[342,4824,3393],{}," — the ",[451,4827,4828],{},"math"," is cheap, the generic\n",[451,4831,342],{}," is not.",[4810,4834,4835,4836,4838,4839,4841,4842,4845,4846,4849,4850,4852,4853,4856],{},"The ",[347,4837,191],{},"'s update is trivial (",[342,4840,3393],{}," append); its real cost\nis in ",[451,4843,4844],{},"matching",", where ",[342,4847,4848],{},"GalleryCost"," compares against ",[342,4851,435],{}," stored\nviews — ",[342,4854,4855],{},"K×"," an ordinary cosine. We measure that separately:",[468,4858,4860],{"className":470,"code":4859,"language":472,"meta":473,"style":473},"D, N, M, K = 256, 8, 8, 8\ngst = st_gallery(D)\ngcs, _ = spawn(gst, N, D)\ndets = Detections(index=torch.arange(M), emb=torch.randn(M, D), batch_size=[M])\nctx = FrameContext.make(0)\ncos = Cosine(\"emb\")\ngcost = GalleryCost(\"emb_gallery\", \"emb_count\", \"emb\")\nt_cos = time_us(lambda: cos(gcs, dets, ctx))\nt_gal = time_us(lambda: gcost(gcs, dets, ctx))\nprint(\n    f\"matching {N}x{M} at D={D}:  Cosine {t_cos:.1f} us   \"\n    f\"GalleryCost(K={K}) {t_gal:.1f} us   ({t_gal \u002F t_cos:.1f}x)\"\n)\n\n",[342,4861,4862,4898,4913,4941,4999,5018,5037,5075,5109,5141,5147,5194,5238],{"__ignoreMap":473},[477,4863,4864,4866,4868,4871,4873,4876,4878,4881,4883,4885,4887,4890,4892,4894,4896],{"class":479,"line":480},[477,4865,353],{"class":487},[477,4867,573],{"class":507},[477,4869,4870],{"class":487}," N",[477,4872,573],{"class":507},[477,4874,4875],{"class":487}," M",[477,4877,573],{"class":507},[477,4879,4880],{"class":487}," K ",[477,4882,968],{"class":967},[477,4884,3425],{"class":911},[477,4886,573],{"class":507},[477,4888,4889],{"class":911}," 8",[477,4891,573],{"class":507},[477,4893,4889],{"class":911},[477,4895,573],{"class":507},[477,4897,3430],{"class":911},[477,4899,4900,4903,4905,4907,4909,4911],{"class":479,"line":491},[477,4901,4902],{"class":487},"gst ",[477,4904,968],{"class":967},[477,4906,2549],{"class":904},[477,4908,908],{"class":507},[477,4910,353],{"class":904},[477,4912,667],{"class":507},[477,4914,4915,4918,4920,4922,4924,4926,4928,4931,4933,4935,4937,4939],{"class":479,"line":499},[477,4916,4917],{"class":487},"gcs",[477,4919,573],{"class":507},[477,4921,1813],{"class":487},[477,4923,968],{"class":967},[477,4925,1211],{"class":904},[477,4927,908],{"class":507},[477,4929,4930],{"class":904},"gst",[477,4932,573],{"class":507},[477,4934,4870],{"class":904},[477,4936,573],{"class":507},[477,4938,2257],{"class":904},[477,4940,667],{"class":507},[477,4942,4943,4946,4948,4950,4952,4954,4956,4958,4960,4962,4964,4967,4969,4971,4973,4975,4977,4979,4981,4983,4985,4987,4989,4991,4993,4995,4997],{"class":479,"line":521},[477,4944,4945],{"class":487},"dets ",[477,4947,968],{"class":967},[477,4949,1238],{"class":904},[477,4951,908],{"class":507},[477,4953,125],{"class":963},[477,4955,968],{"class":967},[477,4957,899],{"class":904},[477,4959,508],{"class":507},[477,4961,975],{"class":904},[477,4963,908],{"class":507},[477,4965,4966],{"class":904},"M",[477,4968,1257],{"class":507},[477,4970,1260],{"class":963},[477,4972,968],{"class":967},[477,4974,899],{"class":904},[477,4976,508],{"class":507},[477,4978,1269],{"class":904},[477,4980,908],{"class":507},[477,4982,4966],{"class":904},[477,4984,573],{"class":507},[477,4986,2257],{"class":904},[477,4988,1257],{"class":507},[477,4990,1282],{"class":963},[477,4992,968],{"class":967},[477,4994,1287],{"class":507},[477,4996,4966],{"class":904},[477,4998,1292],{"class":507},[477,5000,5001,5004,5006,5008,5010,5012,5014,5016],{"class":479,"line":539},[477,5002,5003],{"class":487},"ctx ",[477,5005,968],{"class":967},[477,5007,1327],{"class":487},[477,5009,508],{"class":507},[477,5011,1332],{"class":904},[477,5013,908],{"class":507},[477,5015,912],{"class":911},[477,5017,667],{"class":507},[477,5019,5020,5023,5025,5027,5029,5031,5033,5035],{"class":479,"line":546},[477,5021,5022],{"class":487},"cos ",[477,5024,968],{"class":967},[477,5026,598],{"class":904},[477,5028,908],{"class":507},[477,5030,1965],{"class":1957},[477,5032,1962],{"class":1961},[477,5034,1965],{"class":1957},[477,5036,667],{"class":507},[477,5038,5039,5042,5044,5047,5049,5051,5054,5056,5058,5060,5063,5065,5067,5069,5071,5073],{"class":479,"line":554},[477,5040,5041],{"class":487},"gcost ",[477,5043,968],{"class":967},[477,5045,5046],{"class":904}," GalleryCost",[477,5048,908],{"class":507},[477,5050,1965],{"class":1957},[477,5052,5053],{"class":1961},"emb_gallery",[477,5055,1965],{"class":1957},[477,5057,573],{"class":507},[477,5059,2192],{"class":1957},[477,5061,5062],{"class":1961},"emb_count",[477,5064,1965],{"class":1957},[477,5066,573],{"class":507},[477,5068,2192],{"class":1957},[477,5070,1962],{"class":1961},[477,5072,1965],{"class":1957},[477,5074,667],{"class":507},[477,5076,5077,5080,5082,5084,5086,5089,5091,5094,5096,5098,5100,5103,5105,5107],{"class":479,"line":584},[477,5078,5079],{"class":487},"t_cos ",[477,5081,968],{"class":967},[477,5083,1778],{"class":904},[477,5085,908],{"class":507},[477,5087,5088],{"class":930},"lambda",[477,5090,1309],{"class":507},[477,5092,5093],{"class":904}," cos",[477,5095,908],{"class":507},[477,5097,4917],{"class":904},[477,5099,573],{"class":507},[477,5101,5102],{"class":904}," dets",[477,5104,573],{"class":507},[477,5106,1644],{"class":904},[477,5108,2674],{"class":507},[477,5110,5111,5114,5116,5118,5120,5122,5124,5127,5129,5131,5133,5135,5137,5139],{"class":479,"line":606},[477,5112,5113],{"class":487},"t_gal ",[477,5115,968],{"class":967},[477,5117,1778],{"class":904},[477,5119,908],{"class":507},[477,5121,5088],{"class":930},[477,5123,1309],{"class":507},[477,5125,5126],{"class":904}," gcost",[477,5128,908],{"class":507},[477,5130,4917],{"class":904},[477,5132,573],{"class":507},[477,5134,5102],{"class":904},[477,5136,573],{"class":507},[477,5138,1644],{"class":904},[477,5140,2674],{"class":507},[477,5142,5143,5145],{"class":479,"line":623},[477,5144,3319],{"class":1818},[477,5146,957],{"class":507},[477,5148,5149,5152,5155,5157,5159,5161,5163,5165,5167,5169,5172,5174,5176,5178,5181,5183,5186,5189,5191],{"class":479,"line":632},[477,5150,5151],{"class":930},"    f",[477,5153,5154],{"class":1961},"\"matching ",[477,5156,3733],{"class":911},[477,5158,3359],{"class":904},[477,5160,3738],{"class":911},[477,5162,2843],{"class":1961},[477,5164,3733],{"class":911},[477,5166,4966],{"class":904},[477,5168,3738],{"class":911},[477,5170,5171],{"class":1961}," at D=",[477,5173,3733],{"class":911},[477,5175,353],{"class":904},[477,5177,3738],{"class":911},[477,5179,5180],{"class":1961},":  Cosine ",[477,5182,3733],{"class":911},[477,5184,5185],{"class":904},"t_cos",[477,5187,5188],{"class":930},":.1f",[477,5190,3738],{"class":911},[477,5192,5193],{"class":1961}," us   \"\n",[477,5195,5196,5198,5201,5203,5205,5207,5210,5212,5215,5217,5219,5222,5224,5226,5228,5231,5233,5235],{"class":479,"line":640},[477,5197,5151],{"class":930},[477,5199,5200],{"class":1961},"\"GalleryCost(K=",[477,5202,3733],{"class":911},[477,5204,435],{"class":904},[477,5206,3738],{"class":911},[477,5208,5209],{"class":1961},") ",[477,5211,3733],{"class":911},[477,5213,5214],{"class":904},"t_gal",[477,5216,5188],{"class":930},[477,5218,3738],{"class":911},[477,5220,5221],{"class":1961}," us   (",[477,5223,3733],{"class":911},[477,5225,5113],{"class":904},[477,5227,124],{"class":967},[477,5229,5230],{"class":904}," t_cos",[477,5232,5188],{"class":930},[477,5234,3738],{"class":911},[477,5236,5237],{"class":1961},"x)\"\n",[477,5239,5240],{"class":479,"line":648},[477,5241,667],{"class":507},[3341,5243],{"data":5244,"kind":3344},"bWF0Y2hpbmcgOHg4IGF0IEQ9MjU2OiAgQ29zaW5lIDY5LjcgdXMgICBHYWxsZXJ5Q29zdChLPTgpIDMxMi44IHVzICAgKDQuNXgpCg==",[3346,5246,5248],{"id":5247},"_2-accuracy-on-two-complementary-tasks","2 — Accuracy on two complementary tasks",[338,5250,5251,5254,5255,5257,5258,5260,5261,5264,5265,5267],{},[347,5252,5253],{},"Denoising"," (smooth a drifting embedding): the genuine smoothers do\nwell; the ",[347,5256,191],{}," sits at the raw level because it stores views\nrather than averaging them (it is memory, not a smoother), and\n",[347,5259,309],{}," is not built for this. ",[347,5262,5263],{},"Association under fast motion","\n(four identities rotating ~54°\u002Fframe): every static filter lags into\nits neighbour and mis-associates; only the ",[347,5266,309],{}," module, trained\nthrough the differentiable matcher, anticipates the motion.",[468,5269,5271],{"className":470,"code":5270,"language":472,"meta":473,"style":473},"D = 16\n\n\ndef dn_clip(T=44, noise=0.15, seed=0):\n    g = torch.Generator().manual_seed(seed)\n    t = torch.arange(T).float()\n    th = 0.10 * t\n    truth = torch.zeros(T, D)\n    truth[:, 0] = torch.cos(th)\n    truth[:, 1] = torch.sin(th)\n    obs = torch.nn.functional.normalize(\n        truth + noise * torch.randn(T, D, generator=g), dim=-1\n    )\n    return truth, obs\n\n\ndef denoise_cos(states):\n    \"\"\"Forced-match single-track driver: isolates filter quality from matching.\"\"\"\n    truth, obs = dn_clip()\n    d0 = Detections(index=torch.tensor([0]), emb=obs[0:1].clone(), batch_size=[1])\n    cs = Tracklets(\n        **_reserved(1),\n        **{k: st.init(d0, FrameContext.make(0)) for k, st in states.items()},\n        batch_size=[1],\n    )\n    m = match_n(1)\n    coss = []\n    for k in range(1, len(obs)):\n        ctx = FrameContext.make(k, delta=1.0)\n        for st in states.values():\n            cs = st.process(cs, ctx)\n        ds = Detections(\n            index=torch.tensor([0]), emb=obs[k : k + 1].clone(), batch_size=[1]\n        )\n        for st in states.values():\n            cs = st.observation(cs, ds, m, ctx)\n        coss.append((torch.nn.functional.normalize(cs.emb[0], dim=0) @ truth[k]).item())\n    return sum(coss) \u002F len(coss)\n\n\ntruth, obs = dn_clip()\nraw = (torch.nn.functional.normalize(obs, dim=-1) * truth).sum(-1).mean().item()\ndenoise = {}\nwith torch.no_grad():\n    for name in [\n        \"EMA\",\n        \"diag-Kalman\",\n        \"vMF\",\n        \"info-filter\",\n        \"EnKF (E=32)\",\n        \"gallery (K=8)\",\n    ]:\n        denoise[name] = denoise_cos(METHODS[name][\"make\"](D))\nMETHODS_denoise = denoise\nfig, ax = plt.subplots(figsize=(9, 4))\nnames = list(denoise)\nvals = [denoise[n] for n in names]\nax.bar(names, vals, color=\"tab:green\")\nax.axhline(raw, ls=\"--\", color=\"0.5\", label=f\"raw detections ({raw:.3f})\")\nax.set_ylim(0.7, 1.0)\nax.set_ylabel(\"mean cosine to truth\")\nax.set_title(\"Denoising a drifting embedding (forced-match, D=16)\")\nax.legend(fontsize=8)\nplt.xticks(rotation=15)\nfor i, v in enumerate(vals):\n    ax.text(i, v + 0.005, f\"{v:.3f}\", ha=\"center\", fontsize=8)\nplt.tight_layout()\nplt.show()\n\n",[342,5272,5273,5283,5287,5291,5329,5355,5380,5395,5418,5446,5471,5495,5540,5544,5556,5560,5564,5577,5590,5605,5665,5676,5689,5743,5756,5760,5775,5784,5811,5837,5853,5876,5887,5941,5945,5961,5991,6056,6080,6084,6088,6103,6167,6177,6189,6200,6210,6220,6230,6240,6250,6260,6265,6303,6313,6345,6360,6389,6422,6488,6508,6527,6546,6564,6585,6607,6669,6679],{"__ignoreMap":473},[477,5274,5275,5278,5280],{"class":479,"line":480},[477,5276,5277],{"class":487},"D ",[477,5279,968],{"class":967},[477,5281,5282],{"class":911}," 16\n",[477,5284,5285],{"class":479,"line":491},[477,5286,543],{"emptyLinePlaceholder":542},[477,5288,5289],{"class":479,"line":499},[477,5290,543],{"emptyLinePlaceholder":542},[477,5292,5293,5295,5298,5300,5303,5305,5308,5310,5313,5315,5318,5320,5323,5325,5327],{"class":479,"line":521},[477,5294,931],{"class":930},[477,5296,5297],{"class":934}," dn_clip",[477,5299,908],{"class":507},[477,5301,5302],{"class":940},"T",[477,5304,968],{"class":967},[477,5306,5307],{"class":911},"44",[477,5309,573],{"class":507},[477,5311,5312],{"class":940}," noise",[477,5314,968],{"class":967},[477,5316,5317],{"class":911},"0.15",[477,5319,573],{"class":507},[477,5321,5322],{"class":940}," seed",[477,5324,968],{"class":967},[477,5326,912],{"class":911},[477,5328,944],{"class":507},[477,5330,5331,5334,5336,5338,5340,5343,5346,5348,5350,5353],{"class":479,"line":539},[477,5332,5333],{"class":487},"    g ",[477,5335,968],{"class":967},[477,5337,504],{"class":487},[477,5339,508],{"class":507},[477,5341,5342],{"class":904},"Generator",[477,5344,5345],{"class":507},"().",[477,5347,905],{"class":904},[477,5349,908],{"class":507},[477,5351,5352],{"class":904},"seed",[477,5354,667],{"class":507},[477,5356,5357,5360,5362,5364,5366,5368,5370,5372,5375,5378],{"class":479,"line":546},[477,5358,5359],{"class":487},"    t ",[477,5361,968],{"class":967},[477,5363,504],{"class":487},[477,5365,508],{"class":507},[477,5367,975],{"class":904},[477,5369,908],{"class":507},[477,5371,5302],{"class":904},[477,5373,5374],{"class":507},").",[477,5376,5377],{"class":904},"float",[477,5379,1835],{"class":507},[477,5381,5382,5385,5387,5390,5392],{"class":479,"line":554},[477,5383,5384],{"class":487},"    th ",[477,5386,968],{"class":967},[477,5388,5389],{"class":911}," 0.10",[477,5391,2703],{"class":967},[477,5393,5394],{"class":487}," t\n",[477,5396,5397,5400,5402,5404,5406,5408,5410,5412,5414,5416],{"class":479,"line":584},[477,5398,5399],{"class":487},"    truth ",[477,5401,968],{"class":967},[477,5403,504],{"class":487},[477,5405,508],{"class":507},[477,5407,1073],{"class":904},[477,5409,908],{"class":507},[477,5411,5302],{"class":904},[477,5413,573],{"class":507},[477,5415,2257],{"class":904},[477,5417,667],{"class":507},[477,5419,5420,5423,5426,5429,5431,5433,5435,5437,5440,5442,5444],{"class":479,"line":606},[477,5421,5422],{"class":487},"    truth",[477,5424,5425],{"class":507},"[:,",[477,5427,5428],{"class":911}," 0",[477,5430,3593],{"class":507},[477,5432,2990],{"class":967},[477,5434,504],{"class":487},[477,5436,508],{"class":507},[477,5438,5439],{"class":904},"cos",[477,5441,908],{"class":507},[477,5443,373],{"class":904},[477,5445,667],{"class":507},[477,5447,5448,5450,5452,5454,5456,5458,5460,5462,5465,5467,5469],{"class":479,"line":623},[477,5449,5422],{"class":487},[477,5451,5425],{"class":507},[477,5453,1008],{"class":911},[477,5455,3593],{"class":507},[477,5457,2990],{"class":967},[477,5459,504],{"class":487},[477,5461,508],{"class":507},[477,5463,5464],{"class":904},"sin",[477,5466,908],{"class":507},[477,5468,373],{"class":904},[477,5470,667],{"class":507},[477,5472,5473,5476,5478,5480,5482,5484,5486,5488,5490,5493],{"class":479,"line":632},[477,5474,5475],{"class":487},"    obs ",[477,5477,968],{"class":967},[477,5479,504],{"class":487},[477,5481,508],{"class":507},[477,5483,512],{"class":511},[477,5485,508],{"class":507},[477,5487,2753],{"class":511},[477,5489,508],{"class":507},[477,5491,5492],{"class":904},"normalize",[477,5494,957],{"class":507},[477,5496,5497,5500,5502,5505,5507,5509,5511,5513,5515,5517,5519,5521,5523,5526,5528,5531,5533,5535,5537],{"class":479,"line":640},[477,5498,5499],{"class":904},"        truth ",[477,5501,2835],{"class":967},[477,5503,5504],{"class":904}," noise ",[477,5506,1913],{"class":967},[477,5508,504],{"class":904},[477,5510,508],{"class":507},[477,5512,1269],{"class":904},[477,5514,908],{"class":507},[477,5516,5302],{"class":904},[477,5518,573],{"class":507},[477,5520,2257],{"class":904},[477,5522,573],{"class":507},[477,5524,5525],{"class":963}," generator",[477,5527,968],{"class":967},[477,5529,5530],{"class":904},"g",[477,5532,1257],{"class":507},[477,5534,1225],{"class":963},[477,5536,2850],{"class":967},[477,5538,5539],{"class":911},"1\n",[477,5541,5542],{"class":479,"line":648},[477,5543,1193],{"class":507},[477,5545,5546,5548,5551,5553],{"class":479,"line":656},[477,5547,950],{"class":483},[477,5549,5550],{"class":487}," truth",[477,5552,573],{"class":507},[477,5554,5555],{"class":487}," obs\n",[477,5557,5558],{"class":479,"line":664},[477,5559,543],{"emptyLinePlaceholder":542},[477,5561,5562],{"class":479,"line":670},[477,5563,543],{"emptyLinePlaceholder":542},[477,5565,5566,5568,5571,5573,5575],{"class":479,"line":692},[477,5567,931],{"class":930},[477,5569,5570],{"class":934}," denoise_cos",[477,5572,908],{"class":507},[477,5574,270],{"class":940},[477,5576,944],{"class":507},[477,5578,5579,5583,5587],{"class":479,"line":709},[477,5580,5582],{"class":5581},"s2W-s","    \"\"\"",[477,5584,5586],{"class":5585},"sithA","Forced-match single-track driver: isolates filter quality from matching.",[477,5588,5589],{"class":5581},"\"\"\"\n",[477,5591,5592,5594,5596,5599,5601,5603],{"class":479,"line":725},[477,5593,5422],{"class":487},[477,5595,573],{"class":507},[477,5597,5598],{"class":487}," obs ",[477,5600,968],{"class":967},[477,5602,5297],{"class":904},[477,5604,1835],{"class":507},[477,5606,5607,5610,5612,5614,5616,5618,5620,5622,5624,5627,5629,5631,5633,5635,5637,5640,5642,5644,5646,5648,5650,5653,5655,5657,5659,5661,5663],{"class":479,"line":733},[477,5608,5609],{"class":487},"    d0 ",[477,5611,968],{"class":967},[477,5613,1238],{"class":904},[477,5615,908],{"class":507},[477,5617,125],{"class":963},[477,5619,968],{"class":967},[477,5621,899],{"class":904},[477,5623,508],{"class":507},[477,5625,5626],{"class":904},"tensor",[477,5628,1450],{"class":507},[477,5630,912],{"class":911},[477,5632,1405],{"class":507},[477,5634,1260],{"class":963},[477,5636,968],{"class":967},[477,5638,5639],{"class":904},"obs",[477,5641,1287],{"class":507},[477,5643,912],{"class":911},[477,5645,1309],{"class":507},[477,5647,2853],{"class":911},[477,5649,4405],{"class":507},[477,5651,5652],{"class":904},"clone",[477,5654,2656],{"class":507},[477,5656,1282],{"class":963},[477,5658,968],{"class":967},[477,5660,1287],{"class":507},[477,5662,2853],{"class":911},[477,5664,1292],{"class":507},[477,5666,5667,5670,5672,5674],{"class":479,"line":741},[477,5668,5669],{"class":487},"    cs ",[477,5671,968],{"class":967},[477,5673,1372],{"class":904},[477,5675,957],{"class":507},[477,5677,5678,5681,5683,5685,5687],{"class":479,"line":749},[477,5679,5680],{"class":967},"        **",[477,5682,1380],{"class":904},[477,5684,908],{"class":507},[477,5686,2853],{"class":911},[477,5688,982],{"class":507},[477,5690,5691,5693,5695,5697,5699,5701,5703,5705,5707,5710,5712,5714,5716,5718,5720,5722,5724,5726,5728,5730,5732,5734,5736,5738,5740],{"class":479,"line":757},[477,5692,5680],{"class":967},[477,5694,3733],{"class":507},[477,5696,1306],{"class":904},[477,5698,1309],{"class":507},[477,5700,1312],{"class":904},[477,5702,508],{"class":507},[477,5704,1317],{"class":904},[477,5706,908],{"class":507},[477,5708,5709],{"class":904},"d0",[477,5711,573],{"class":507},[477,5713,1327],{"class":904},[477,5715,508],{"class":507},[477,5717,1332],{"class":904},[477,5719,908],{"class":507},[477,5721,912],{"class":911},[477,5723,1339],{"class":507},[477,5725,1342],{"class":483},[477,5727,1345],{"class":904},[477,5729,573],{"class":507},[477,5731,1350],{"class":904},[477,5733,1353],{"class":483},[477,5735,1356],{"class":904},[477,5737,508],{"class":507},[477,5739,1361],{"class":904},[477,5741,5742],{"class":507},"()},\n",[477,5744,5745,5747,5749,5751,5753],{"class":479,"line":765},[477,5746,1592],{"class":963},[477,5748,968],{"class":967},[477,5750,1287],{"class":507},[477,5752,2853],{"class":911},[477,5754,5755],{"class":507},"],\n",[477,5757,5758],{"class":479,"line":773},[477,5759,1193],{"class":507},[477,5761,5762,5765,5767,5769,5771,5773],{"class":479,"line":781},[477,5763,5764],{"class":487},"    m ",[477,5766,968],{"class":967},[477,5768,1426],{"class":904},[477,5770,908],{"class":507},[477,5772,2853],{"class":911},[477,5774,667],{"class":507},[477,5776,5777,5780,5782],{"class":479,"line":789},[477,5778,5779],{"class":487},"    coss ",[477,5781,968],{"class":967},[477,5783,3440],{"class":507},[477,5785,5786,5788,5791,5793,5795,5797,5799,5801,5804,5806,5808],{"class":479,"line":797},[477,5787,1663],{"class":483},[477,5789,5790],{"class":487}," k ",[477,5792,1353],{"class":483},[477,5794,1819],{"class":1818},[477,5796,908],{"class":507},[477,5798,2853],{"class":911},[477,5800,573],{"class":507},[477,5802,5803],{"class":1818}," len",[477,5805,908],{"class":507},[477,5807,5639],{"class":904},[477,5809,5810],{"class":507},")):\n",[477,5812,5813,5815,5817,5819,5821,5823,5825,5827,5829,5831,5833,5835],{"class":479,"line":805},[477,5814,3553],{"class":487},[477,5816,968],{"class":967},[477,5818,1327],{"class":487},[477,5820,508],{"class":507},[477,5822,1332],{"class":904},[477,5824,908],{"class":507},[477,5826,1306],{"class":904},[477,5828,573],{"class":507},[477,5830,3570],{"class":963},[477,5832,968],{"class":967},[477,5834,2512],{"class":911},[477,5836,667],{"class":507},[477,5838,5839,5841,5843,5845,5847,5849,5851],{"class":479,"line":813},[477,5840,4285],{"class":483},[477,5842,1350],{"class":487},[477,5844,1353],{"class":483},[477,5846,1356],{"class":487},[477,5848,508],{"class":507},[477,5850,1674],{"class":904},[477,5852,1677],{"class":507},[477,5854,5855,5858,5860,5862,5864,5866,5868,5870,5872,5874],{"class":479,"line":821},[477,5856,5857],{"class":487},"            cs ",[477,5859,968],{"class":967},[477,5861,1312],{"class":487},[477,5863,508],{"class":507},[477,5865,1692],{"class":904},[477,5867,908],{"class":507},[477,5869,3619],{"class":904},[477,5871,573],{"class":507},[477,5873,1644],{"class":904},[477,5875,667],{"class":507},[477,5877,5878,5881,5883,5885],{"class":479,"line":829},[477,5879,5880],{"class":487},"        ds ",[477,5882,968],{"class":967},[477,5884,1238],{"class":904},[477,5886,957],{"class":507},[477,5888,5889,5892,5894,5896,5898,5900,5902,5904,5906,5908,5910,5912,5914,5917,5919,5921,5923,5925,5927,5929,5931,5933,5935,5937,5939],{"class":479,"line":834},[477,5890,5891],{"class":963},"            index",[477,5893,968],{"class":967},[477,5895,899],{"class":904},[477,5897,508],{"class":507},[477,5899,5626],{"class":904},[477,5901,1450],{"class":507},[477,5903,912],{"class":911},[477,5905,1405],{"class":507},[477,5907,1260],{"class":963},[477,5909,968],{"class":967},[477,5911,5639],{"class":904},[477,5913,1287],{"class":507},[477,5915,5916],{"class":904},"k ",[477,5918,1309],{"class":507},[477,5920,5790],{"class":904},[477,5922,2835],{"class":967},[477,5924,1008],{"class":911},[477,5926,4405],{"class":507},[477,5928,5652],{"class":904},[477,5930,2656],{"class":507},[477,5932,1282],{"class":963},[477,5934,968],{"class":967},[477,5936,1287],{"class":507},[477,5938,2853],{"class":911},[477,5940,3896],{"class":507},[477,5942,5943],{"class":479,"line":854},[477,5944,2047],{"class":507},[477,5946,5947,5949,5951,5953,5955,5957,5959],{"class":479,"line":862},[477,5948,4285],{"class":483},[477,5950,1350],{"class":487},[477,5952,1353],{"class":483},[477,5954,1356],{"class":487},[477,5956,508],{"class":507},[477,5958,1674],{"class":904},[477,5960,1677],{"class":507},[477,5962,5963,5965,5967,5969,5971,5973,5975,5977,5979,5981,5983,5985,5987,5989],{"class":479,"line":870},[477,5964,5857],{"class":487},[477,5966,968],{"class":967},[477,5968,1312],{"class":487},[477,5970,508],{"class":507},[477,5972,1734],{"class":904},[477,5974,908],{"class":507},[477,5976,3619],{"class":904},[477,5978,573],{"class":507},[477,5980,1634],{"class":904},[477,5982,573],{"class":507},[477,5984,1639],{"class":904},[477,5986,573],{"class":507},[477,5988,1644],{"class":904},[477,5990,667],{"class":507},[477,5992,5993,5996,5998,6000,6002,6004,6006,6008,6010,6012,6014,6016,6018,6020,6022,6024,6026,6028,6030,6032,6034,6036,6038,6041,6043,6045,6047,6050,6053],{"class":479,"line":878},[477,5994,5995],{"class":487},"        coss",[477,5997,508],{"class":507},[477,5999,3685],{"class":904},[477,6001,1000],{"class":507},[477,6003,899],{"class":904},[477,6005,508],{"class":507},[477,6007,512],{"class":511},[477,6009,508],{"class":507},[477,6011,2753],{"class":511},[477,6013,508],{"class":507},[477,6015,5492],{"class":904},[477,6017,908],{"class":507},[477,6019,3619],{"class":904},[477,6021,508],{"class":507},[477,6023,1962],{"class":511},[477,6025,1287],{"class":507},[477,6027,912],{"class":911},[477,6029,2931],{"class":507},[477,6031,1225],{"class":963},[477,6033,968],{"class":967},[477,6035,912],{"class":911},[477,6037,425],{"class":507},[477,6039,6040],{"class":967}," @",[477,6042,5550],{"class":904},[477,6044,1287],{"class":507},[477,6046,1306],{"class":904},[477,6048,6049],{"class":507},"]).",[477,6051,6052],{"class":904},"item",[477,6054,6055],{"class":507},"())\n",[477,6057,6058,6060,6063,6065,6068,6070,6072,6074,6076,6078],{"class":479,"line":886},[477,6059,950],{"class":483},[477,6061,6062],{"class":1818}," sum",[477,6064,908],{"class":507},[477,6066,6067],{"class":904},"coss",[477,6069,425],{"class":507},[477,6071,1907],{"class":967},[477,6073,5803],{"class":1818},[477,6075,908],{"class":507},[477,6077,6067],{"class":904},[477,6079,667],{"class":507},[477,6081,6082],{"class":479,"line":891},[477,6083,543],{"emptyLinePlaceholder":542},[477,6085,6086],{"class":479,"line":896},[477,6087,543],{"emptyLinePlaceholder":542},[477,6089,6090,6093,6095,6097,6099,6101],{"class":479,"line":917},[477,6091,6092],{"class":487},"truth",[477,6094,573],{"class":507},[477,6096,5598],{"class":487},[477,6098,968],{"class":967},[477,6100,5297],{"class":904},[477,6102,1835],{"class":507},[477,6104,6105,6108,6110,6112,6114,6116,6118,6120,6122,6124,6126,6128,6130,6132,6134,6136,6138,6140,6142,6144,6146,6149,6151,6154,6156,6158,6161,6163,6165],{"class":479,"line":922},[477,6106,6107],{"class":487},"raw ",[477,6109,968],{"class":967},[477,6111,1886],{"class":507},[477,6113,899],{"class":487},[477,6115,508],{"class":507},[477,6117,512],{"class":511},[477,6119,508],{"class":507},[477,6121,2753],{"class":511},[477,6123,508],{"class":507},[477,6125,5492],{"class":904},[477,6127,908],{"class":507},[477,6129,5639],{"class":904},[477,6131,573],{"class":507},[477,6133,1225],{"class":963},[477,6135,2850],{"class":967},[477,6137,2853],{"class":911},[477,6139,425],{"class":507},[477,6141,2703],{"class":967},[477,6143,5550],{"class":487},[477,6145,5374],{"class":507},[477,6147,6148],{"class":904},"sum",[477,6150,908],{"class":507},[477,6152,6153],{"class":967},"-",[477,6155,2853],{"class":911},[477,6157,5374],{"class":507},[477,6159,6160],{"class":904},"mean",[477,6162,5345],{"class":507},[477,6164,6052],{"class":904},[477,6166,1835],{"class":507},[477,6168,6169,6172,6174],{"class":479,"line":927},[477,6170,6171],{"class":487},"denoise ",[477,6173,968],{"class":967},[477,6175,6176],{"class":507}," {}\n",[477,6178,6179,6181,6183,6185,6187],{"class":479,"line":947},[477,6180,3445],{"class":483},[477,6182,504],{"class":487},[477,6184,508],{"class":507},[477,6186,3452],{"class":904},[477,6188,1677],{"class":507},[477,6190,6191,6193,6195,6197],{"class":479,"line":960},[477,6192,1663],{"class":483},[477,6194,4248],{"class":487},[477,6196,1353],{"class":483},[477,6198,6199],{"class":507}," [\n",[477,6201,6202,6204,6206,6208],{"class":479,"line":985},[477,6203,1958],{"class":1957},[477,6205,387],{"class":1961},[477,6207,1965],{"class":1957},[477,6209,629],{"class":507},[477,6211,6212,6214,6216,6218],{"class":479,"line":1027},[477,6213,1958],{"class":1957},[477,6215,3046],{"class":1961},[477,6217,1965],{"class":1957},[477,6219,629],{"class":507},[477,6221,6222,6224,6226,6228],{"class":479,"line":1061},[477,6223,1958],{"class":1957},[477,6225,403],{"class":1961},[477,6227,1965],{"class":1957},[477,6229,629],{"class":507},[477,6231,6232,6234,6236,6238],{"class":479,"line":1094},[477,6233,1958],{"class":1957},[477,6235,3136],{"class":1961},[477,6237,1965],{"class":1957},[477,6239,629],{"class":507},[477,6241,6242,6244,6246,6248],{"class":479,"line":1126},[477,6243,1958],{"class":1957},[477,6245,3181],{"class":1961},[477,6247,1965],{"class":1957},[477,6249,629],{"class":507},[477,6251,6252,6254,6256,6258],{"class":479,"line":1158},[477,6253,1958],{"class":1957},[477,6255,3227],{"class":1961},[477,6257,1965],{"class":1957},[477,6259,629],{"class":507},[477,6261,6262],{"class":479,"line":1190},[477,6263,6264],{"class":507},"    ]:\n",[477,6266,6267,6270,6272,6274,6276,6278,6280,6282,6284,6286,6288,6291,6293,6295,6297,6299,6301],{"class":479,"line":1196},[477,6268,6269],{"class":487},"        denoise",[477,6271,1287],{"class":507},[477,6273,3690],{"class":487},[477,6275,3593],{"class":507},[477,6277,2990],{"class":967},[477,6279,5570],{"class":904},[477,6281,908],{"class":507},[477,6283,2987],{"class":1818},[477,6285,1287],{"class":507},[477,6287,3690],{"class":904},[477,6289,6290],{"class":507},"][",[477,6292,1965],{"class":1957},[477,6294,1332],{"class":1961},[477,6296,1965],{"class":1957},[477,6298,3498],{"class":507},[477,6300,353],{"class":904},[477,6302,2674],{"class":507},[477,6304,6305,6308,6310],{"class":479,"line":1201},[477,6306,6307],{"class":2986},"METHODS_denoise",[477,6309,2990],{"class":967},[477,6311,6312],{"class":487}," denoise\n",[477,6314,6315,6317,6319,6321,6323,6325,6327,6329,6331,6333,6335,6337,6339,6341,6343],{"class":479,"line":1206},[477,6316,3831],{"class":487},[477,6318,573],{"class":507},[477,6320,3836],{"class":487},[477,6322,968],{"class":967},[477,6324,3841],{"class":487},[477,6326,508],{"class":507},[477,6328,3846],{"class":904},[477,6330,908],{"class":507},[477,6332,3851],{"class":963},[477,6334,968],{"class":967},[477,6336,908],{"class":507},[477,6338,3858],{"class":911},[477,6340,573],{"class":507},[477,6342,3863],{"class":911},[477,6344,2674],{"class":507},[477,6346,6347,6349,6351,6353,6355,6358],{"class":479,"line":1230},[477,6348,3870],{"class":487},[477,6350,968],{"class":967},[477,6352,3333],{"class":953},[477,6354,908],{"class":507},[477,6356,6357],{"class":904},"denoise",[477,6359,667],{"class":507},[477,6361,6362,6365,6367,6369,6371,6373,6375,6377,6379,6382,6384,6387],{"class":479,"line":1295},[477,6363,6364],{"class":487},"vals ",[477,6366,968],{"class":967},[477,6368,3875],{"class":507},[477,6370,6357],{"class":487},[477,6372,1287],{"class":507},[477,6374,941],{"class":487},[477,6376,3593],{"class":507},[477,6378,1342],{"class":483},[477,6380,6381],{"class":487}," n ",[477,6383,1353],{"class":483},[477,6385,6386],{"class":487}," names",[477,6388,3896],{"class":507},[477,6390,6391,6393,6395,6398,6400,6402,6404,6407,6409,6411,6413,6415,6418,6420],{"class":479,"line":1367},[477,6392,3928],{"class":487},[477,6394,508],{"class":507},[477,6396,6397],{"class":904},"bar",[477,6399,908],{"class":507},[477,6401,3938],{"class":904},[477,6403,573],{"class":507},[477,6405,6406],{"class":904}," vals",[477,6408,573],{"class":507},[477,6410,3948],{"class":963},[477,6412,968],{"class":967},[477,6414,1965],{"class":1957},[477,6416,6417],{"class":1961},"tab:green",[477,6419,1965],{"class":1957},[477,6421,667],{"class":507},[477,6423,6424,6426,6428,6431,6433,6436,6438,6441,6443,6445,6448,6450,6452,6454,6456,6458,6461,6463,6465,6467,6469,6471,6474,6476,6478,6481,6483,6486],{"class":479,"line":1411},[477,6425,3928],{"class":487},[477,6427,508],{"class":507},[477,6429,6430],{"class":904},"axhline",[477,6432,908],{"class":507},[477,6434,6435],{"class":904},"raw",[477,6437,573],{"class":507},[477,6439,6440],{"class":963}," ls",[477,6442,968],{"class":967},[477,6444,1965],{"class":1957},[477,6446,6447],{"class":1961},"--",[477,6449,1965],{"class":1957},[477,6451,573],{"class":507},[477,6453,3948],{"class":963},[477,6455,968],{"class":967},[477,6457,1965],{"class":1957},[477,6459,6460],{"class":1961},"0.5",[477,6462,1965],{"class":1957},[477,6464,573],{"class":507},[477,6466,4610],{"class":963},[477,6468,968],{"class":967},[477,6470,3727],{"class":930},[477,6472,6473],{"class":1961},"\"raw detections (",[477,6475,3733],{"class":911},[477,6477,6435],{"class":904},[477,6479,6480],{"class":930},":.3f",[477,6482,3738],{"class":911},[477,6484,6485],{"class":1961},")\"",[477,6487,667],{"class":507},[477,6489,6490,6492,6494,6497,6499,6502,6504,6506],{"class":479,"line":1416},[477,6491,3928],{"class":487},[477,6493,508],{"class":507},[477,6495,6496],{"class":904},"set_ylim",[477,6498,908],{"class":507},[477,6500,6501],{"class":911},"0.7",[477,6503,573],{"class":507},[477,6505,2296],{"class":911},[477,6507,667],{"class":507},[477,6509,6510,6512,6514,6516,6518,6520,6523,6525],{"class":479,"line":1421},[477,6511,3928],{"class":487},[477,6513,508],{"class":507},[477,6515,4690],{"class":904},[477,6517,908],{"class":507},[477,6519,1965],{"class":1957},[477,6521,6522],{"class":1961},"mean cosine to truth",[477,6524,1965],{"class":1957},[477,6526,667],{"class":507},[477,6528,6529,6531,6533,6535,6537,6539,6542,6544],{"class":479,"line":1435},[477,6530,3928],{"class":487},[477,6532,508],{"class":507},[477,6534,4008],{"class":904},[477,6536,908],{"class":507},[477,6538,1965],{"class":1957},[477,6540,6541],{"class":1961},"Denoising a drifting embedding (forced-match, D=16)",[477,6543,1965],{"class":1957},[477,6545,667],{"class":507},[477,6547,6548,6550,6552,6554,6556,6558,6560,6562],{"class":479,"line":1482},[477,6549,3928],{"class":487},[477,6551,508],{"class":507},[477,6553,4734],{"class":904},[477,6555,908],{"class":507},[477,6557,4739],{"class":963},[477,6559,968],{"class":967},[477,6561,2588],{"class":911},[477,6563,667],{"class":507},[477,6565,6566,6568,6570,6573,6575,6578,6580,6583],{"class":479,"line":1492},[477,6567,4158],{"class":487},[477,6569,508],{"class":507},[477,6571,6572],{"class":904},"xticks",[477,6574,908],{"class":507},[477,6576,6577],{"class":963},"rotation",[477,6579,968],{"class":967},[477,6581,6582],{"class":911},"15",[477,6584,667],{"class":507},[477,6586,6587,6589,6591,6593,6596,6598,6600,6602,6605],{"class":479,"line":1504},[477,6588,3757],{"class":483},[477,6590,4042],{"class":487},[477,6592,573],{"class":507},[477,6594,6595],{"class":487}," v ",[477,6597,1353],{"class":483},[477,6599,4051],{"class":1818},[477,6601,908],{"class":507},[477,6603,6604],{"class":904},"vals",[477,6606,944],{"class":507},[477,6608,6609,6611,6613,6615,6617,6620,6622,6624,6626,6629,6631,6633,6635,6637,6640,6642,6644,6646,6648,6651,6653,6655,6657,6659,6661,6663,6665,6667],{"class":479,"line":1537},[477,6610,4063],{"class":487},[477,6612,508],{"class":507},[477,6614,4068],{"class":904},[477,6616,908],{"class":507},[477,6618,6619],{"class":904},"i",[477,6621,573],{"class":507},[477,6623,6595],{"class":904},[477,6625,2835],{"class":967},[477,6627,6628],{"class":911}," 0.005",[477,6630,573],{"class":507},[477,6632,3764],{"class":930},[477,6634,1965],{"class":1961},[477,6636,3733],{"class":911},[477,6638,6639],{"class":904},"v",[477,6641,6480],{"class":930},[477,6643,3738],{"class":911},[477,6645,1965],{"class":1961},[477,6647,573],{"class":507},[477,6649,6650],{"class":963}," ha",[477,6652,968],{"class":967},[477,6654,1965],{"class":1957},[477,6656,4106],{"class":1961},[477,6658,1965],{"class":1957},[477,6660,573],{"class":507},[477,6662,4113],{"class":963},[477,6664,968],{"class":967},[477,6666,2588],{"class":911},[477,6668,667],{"class":507},[477,6670,6671,6673,6675,6677],{"class":479,"line":1569},[477,6672,4158],{"class":487},[477,6674,508],{"class":507},[477,6676,4163],{"class":904},[477,6678,1835],{"class":507},[477,6680,6681,6683,6685,6687],{"class":479,"line":1589},[477,6682,4158],{"class":487},[477,6684,508],{"class":507},[477,6686,4174],{"class":904},[477,6688,1835],{"class":507},[338,6690,6691],{},[4183,6692],{"alt":473,"src":6693},"\u002F_nb\u002Fb460feb1b11a74fa.png",[468,6695,6697],{"className":470,"code":6696,"language":472,"meta":473,"style":473},"# Association task: rotate fast; learned anticipates, statics lag.\nN, RT, OM, NZ = 4, 10, 0.95, 0.10\n\n\ndef rot_clip(seed, shuffle=True):\n    g = torch.Generator().manual_seed(seed)\n    ph = torch.arange(N).float() * (2 * torch.pi \u002F N)\n    frames, gts = [], []\n    for k in range(RT):\n        a = ph + OM * k\n        e = torch.zeros(N, D)\n        e[:, 0] = torch.cos(a)\n        e[:, 1] = torch.sin(a)\n        e = torch.nn.functional.normalize(\n            e + NZ * torch.randn(N, D, generator=g), dim=-1\n        )\n        order = torch.randperm(N, generator=g) if shuffle else torch.arange(N)\n        frames.append(e[order])\n        gt = torch.empty(N, dtype=torch.long)\n        gt[order] = torch.arange(N)\n        gts.append(gt)\n    return frames, gts\n\n\ndef assoc_acc(states):\n    tr = unitrack.Tracker(\n        root=Pipe(cost=Cosine(\"emb\"), assoc=Associate(Jonker(threshold=0.95))),\n        states=states,\n        lifecycle=NoLifecycle(),\n        visibility=IncludeAll(),\n    )\n    ms = unitrack.MultiStream(tr)\n    frames, _ = rot_clip(99, shuffle=False)\n    c = t = 0\n    for k in range(RT):\n        d = Detections(index=torch.arange(N), emb=frames[k].clone(), batch_size=[N])\n        res = ms.step(\n            stream_key=0,\n            detections=d,\n            ctx=FrameContext.make(k, delta=1.0, stream_key=0),\n        )\n        if k > 0:\n            p = res.match.matched_pairs\n            c += int((p[:, 0] == p[:, 1]).sum())\n            t += p.shape[0]\n    return c \u002F max(t, 1)\n\n\n# Train the learned propagator\u002Ffuser through the soft association (MOTR-style).\ndef cosdist(a, b):\n    a = torch.nn.functional.normalize(a, dim=-1)\n    b = torch.nn.functional.normalize(b, dim=-1)\n    return 1.0 - a @ b.T\n\n\nprop = nn.Sequential(nn.Linear(D, 64), nn.Tanh(), nn.Linear(64, D))\nfuse = nn.Sequential(nn.Linear(2 * D, 64), nn.Tanh(), nn.Linear(64, D))\nnrm = torch.nn.functional.normalize\npf = lambda x: nrm(x + prop(x), dim=-1)\nff = lambda tr, me: nrm(tr + fuse(torch.cat([tr, me], -1)), dim=-1)\nopt = torch.optim.Adam(list(prop.parameters()) + list(fuse.parameters()), lr=3e-3)\nfor epoch in range(150):\n    frames, gts = rot_clip(epoch)\n    track = frames[0][gts[0]].clone()\n    loss = 0.0\n    for k in range(1, RT):\n        pred = pf(track)\n        logP = sinkhorn_log_plan(cosdist(pred, frames[k]), epsilon=0.05, num_iter=50)\n        loss = loss - logP[torch.arange(N), gts[k]].mean()\n        track = ff(pred, frames[k][gts[k]])\n    opt.zero_grad()\n    (loss \u002F (RT - 1)).backward()\n    opt.step()\n\nlearned_states = {\n    \"emb\": State(\n        TensorSpec((D,), torch.float32),\n        LearnedProcess(\"emb\", lambda x, dt: pf(x)),\n        LearnedObservation(\"emb\", \"emb\", ff),\n        FromDetectionField(\"emb\"),\n    )\n}\n\nassoc = {}\nwith torch.no_grad():\n    for name in [\n        \"EMA\",\n        \"diag-Kalman\",\n        \"vMF\",\n        \"info-filter\",\n        \"EnKF (E=32)\",\n        \"gallery (K=8)\",\n    ]:\n        assoc[name] = assoc_acc(METHODS[name][\"make\"](D))\n    assoc[\"learned\"] = assoc_acc(learned_states)\nfig, ax = plt.subplots(figsize=(9, 4))\nnames = list(assoc)\nvals = [assoc[n] for n in names]\ncols = [\"tab:red\" if v \u003C 0.5 else \"tab:green\" for v in vals]\nax.bar(names, vals, color=cols)\nax.set_ylim(0, 1.05)\nax.set_ylabel(\"identity-association accuracy\")\nax.set_title(\"Association under fast motion — only learned anticipates (D=16)\")\nfor i, v in enumerate(vals):\n    ax.text(i, v + 0.01, f\"{v:.2f}\", ha=\"center\", fontsize=8)\nplt.xticks(rotation=15)\nplt.tight_layout()\nplt.show()\n\n",[342,6698,6699,6704,6742,6746,6750,6774,6796,6840,6857,6874,6893,6916,6942,6966,6988,7029,7033,7082,7103,7136,7161,7177,7189,7193,7197,7210,7226,7281,7292,7304,7316,7320,7340,7368,7383,7399,7453,7469,7480,7492,7529,7533,7547,7566,7603,7623,7646,7650,7654,7659,7677,7712,7748,7769,7773,7777,7832,7891,7912,7949,8008,8072,8090,8109,8138,8148,8168,8185,8235,8277,8310,8322,8348,8358,8362,8371,8385,8404,8437,8464,8479,8483,8487,8491,8500,8512,8522,8532,8543,8554,8565,8576,8587,8592,8630,8657,8690,8706,8733,8779,8807,8827,8847,8867,8888,8949,8968,8979],{"__ignoreMap":473},[477,6700,6701],{"class":479,"line":480},[477,6702,6703],{"class":1926},"# Association task: rotate fast; learned anticipates, statics lag.\n",[477,6705,6706,6708,6710,6713,6715,6718,6720,6723,6725,6727,6729,6732,6734,6737,6739],{"class":479,"line":491},[477,6707,3359],{"class":487},[477,6709,573],{"class":507},[477,6711,6712],{"class":2986}," RT",[477,6714,573],{"class":507},[477,6716,6717],{"class":2986}," OM",[477,6719,573],{"class":507},[477,6721,6722],{"class":2986}," NZ",[477,6724,2990],{"class":967},[477,6726,3863],{"class":911},[477,6728,573],{"class":507},[477,6730,6731],{"class":911}," 10",[477,6733,573],{"class":507},[477,6735,6736],{"class":911}," 0.95",[477,6738,573],{"class":507},[477,6740,6741],{"class":911}," 0.10\n",[477,6743,6744],{"class":479,"line":499},[477,6745,543],{"emptyLinePlaceholder":542},[477,6747,6748],{"class":479,"line":521},[477,6749,543],{"emptyLinePlaceholder":542},[477,6751,6752,6754,6757,6759,6761,6763,6766,6768,6772],{"class":479,"line":539},[477,6753,931],{"class":930},[477,6755,6756],{"class":934}," rot_clip",[477,6758,908],{"class":507},[477,6760,5352],{"class":940},[477,6762,573],{"class":507},[477,6764,6765],{"class":940}," shuffle",[477,6767,968],{"class":967},[477,6769,6771],{"class":6770},"s39Yj","True",[477,6773,944],{"class":507},[477,6775,6776,6778,6780,6782,6784,6786,6788,6790,6792,6794],{"class":479,"line":546},[477,6777,5333],{"class":487},[477,6779,968],{"class":967},[477,6781,504],{"class":487},[477,6783,508],{"class":507},[477,6785,5342],{"class":904},[477,6787,5345],{"class":507},[477,6789,905],{"class":904},[477,6791,908],{"class":507},[477,6793,5352],{"class":904},[477,6795,667],{"class":507},[477,6797,6798,6801,6803,6805,6807,6809,6811,6813,6815,6817,6819,6821,6823,6825,6827,6829,6831,6834,6836,6838],{"class":479,"line":554},[477,6799,6800],{"class":487},"    ph ",[477,6802,968],{"class":967},[477,6804,504],{"class":487},[477,6806,508],{"class":507},[477,6808,975],{"class":904},[477,6810,908],{"class":507},[477,6812,3359],{"class":904},[477,6814,5374],{"class":507},[477,6816,5377],{"class":904},[477,6818,1896],{"class":507},[477,6820,2703],{"class":967},[477,6822,1886],{"class":507},[477,6824,2700],{"class":911},[477,6826,2703],{"class":967},[477,6828,504],{"class":487},[477,6830,508],{"class":507},[477,6832,6833],{"class":511},"pi",[477,6835,1907],{"class":967},[477,6837,4870],{"class":487},[477,6839,667],{"class":507},[477,6841,6842,6845,6847,6850,6852,6855],{"class":479,"line":584},[477,6843,6844],{"class":487},"    frames",[477,6846,573],{"class":507},[477,6848,6849],{"class":487}," gts ",[477,6851,968],{"class":967},[477,6853,6854],{"class":507}," [],",[477,6856,3440],{"class":507},[477,6858,6859,6861,6863,6865,6867,6869,6872],{"class":479,"line":606},[477,6860,1663],{"class":483},[477,6862,5790],{"class":487},[477,6864,1353],{"class":483},[477,6866,1819],{"class":1818},[477,6868,908],{"class":507},[477,6870,6871],{"class":1818},"RT",[477,6873,944],{"class":507},[477,6875,6876,6879,6881,6884,6886,6888,6890],{"class":479,"line":623},[477,6877,6878],{"class":487},"        a ",[477,6880,968],{"class":967},[477,6882,6883],{"class":487}," ph ",[477,6885,2835],{"class":967},[477,6887,6717],{"class":2986},[477,6889,2703],{"class":967},[477,6891,6892],{"class":487}," k\n",[477,6894,6895,6898,6900,6902,6904,6906,6908,6910,6912,6914],{"class":479,"line":632},[477,6896,6897],{"class":487},"        e ",[477,6899,968],{"class":967},[477,6901,504],{"class":487},[477,6903,508],{"class":507},[477,6905,1073],{"class":904},[477,6907,908],{"class":507},[477,6909,3359],{"class":904},[477,6911,573],{"class":507},[477,6913,2257],{"class":904},[477,6915,667],{"class":507},[477,6917,6918,6921,6923,6925,6927,6929,6931,6933,6935,6937,6940],{"class":479,"line":640},[477,6919,6920],{"class":487},"        e",[477,6922,5425],{"class":507},[477,6924,5428],{"class":911},[477,6926,3593],{"class":507},[477,6928,2990],{"class":967},[477,6930,504],{"class":487},[477,6932,508],{"class":507},[477,6934,5439],{"class":904},[477,6936,908],{"class":507},[477,6938,6939],{"class":904},"a",[477,6941,667],{"class":507},[477,6943,6944,6946,6948,6950,6952,6954,6956,6958,6960,6962,6964],{"class":479,"line":648},[477,6945,6920],{"class":487},[477,6947,5425],{"class":507},[477,6949,1008],{"class":911},[477,6951,3593],{"class":507},[477,6953,2990],{"class":967},[477,6955,504],{"class":487},[477,6957,508],{"class":507},[477,6959,5464],{"class":904},[477,6961,908],{"class":507},[477,6963,6939],{"class":904},[477,6965,667],{"class":507},[477,6967,6968,6970,6972,6974,6976,6978,6980,6982,6984,6986],{"class":479,"line":656},[477,6969,6897],{"class":487},[477,6971,968],{"class":967},[477,6973,504],{"class":487},[477,6975,508],{"class":507},[477,6977,512],{"class":511},[477,6979,508],{"class":507},[477,6981,2753],{"class":511},[477,6983,508],{"class":507},[477,6985,5492],{"class":904},[477,6987,957],{"class":507},[477,6989,6990,6993,6995,6997,6999,7001,7003,7005,7007,7009,7011,7013,7015,7017,7019,7021,7023,7025,7027],{"class":479,"line":664},[477,6991,6992],{"class":904},"            e ",[477,6994,2835],{"class":967},[477,6996,6722],{"class":1818},[477,6998,2703],{"class":967},[477,7000,504],{"class":904},[477,7002,508],{"class":507},[477,7004,1269],{"class":904},[477,7006,908],{"class":507},[477,7008,3359],{"class":904},[477,7010,573],{"class":507},[477,7012,2257],{"class":904},[477,7014,573],{"class":507},[477,7016,5525],{"class":963},[477,7018,968],{"class":967},[477,7020,5530],{"class":904},[477,7022,1257],{"class":507},[477,7024,1225],{"class":963},[477,7026,2850],{"class":967},[477,7028,5539],{"class":911},[477,7030,7031],{"class":479,"line":670},[477,7032,2047],{"class":507},[477,7034,7035,7038,7040,7042,7044,7047,7049,7051,7053,7055,7057,7059,7061,7064,7067,7070,7072,7074,7076,7078,7080],{"class":479,"line":692},[477,7036,7037],{"class":487},"        order ",[477,7039,968],{"class":967},[477,7041,504],{"class":487},[477,7043,508],{"class":507},[477,7045,7046],{"class":904},"randperm",[477,7048,908],{"class":507},[477,7050,3359],{"class":904},[477,7052,573],{"class":507},[477,7054,5525],{"class":963},[477,7056,968],{"class":967},[477,7058,5530],{"class":904},[477,7060,425],{"class":507},[477,7062,7063],{"class":483}," if",[477,7065,7066],{"class":487}," shuffle ",[477,7068,7069],{"class":483},"else",[477,7071,504],{"class":487},[477,7073,508],{"class":507},[477,7075,975],{"class":904},[477,7077,908],{"class":507},[477,7079,3359],{"class":904},[477,7081,667],{"class":507},[477,7083,7084,7087,7089,7091,7093,7096,7098,7101],{"class":479,"line":709},[477,7085,7086],{"class":487},"        frames",[477,7088,508],{"class":507},[477,7090,3685],{"class":904},[477,7092,908],{"class":507},[477,7094,7095],{"class":904},"e",[477,7097,1287],{"class":507},[477,7099,7100],{"class":904},"order",[477,7102,1292],{"class":507},[477,7104,7105,7108,7110,7112,7114,7117,7119,7121,7123,7125,7127,7129,7131,7134],{"class":479,"line":725},[477,7106,7107],{"class":487},"        gt ",[477,7109,968],{"class":967},[477,7111,504],{"class":487},[477,7113,508],{"class":507},[477,7115,7116],{"class":904},"empty",[477,7118,908],{"class":507},[477,7120,3359],{"class":904},[477,7122,573],{"class":507},[477,7124,1013],{"class":963},[477,7126,968],{"class":967},[477,7128,899],{"class":904},[477,7130,508],{"class":507},[477,7132,7133],{"class":511},"long",[477,7135,667],{"class":507},[477,7137,7138,7141,7143,7145,7147,7149,7151,7153,7155,7157,7159],{"class":479,"line":733},[477,7139,7140],{"class":487},"        gt",[477,7142,1287],{"class":507},[477,7144,7100],{"class":487},[477,7146,3593],{"class":507},[477,7148,2990],{"class":967},[477,7150,504],{"class":487},[477,7152,508],{"class":507},[477,7154,975],{"class":904},[477,7156,908],{"class":507},[477,7158,3359],{"class":904},[477,7160,667],{"class":507},[477,7162,7163,7166,7168,7170,7172,7175],{"class":479,"line":741},[477,7164,7165],{"class":487},"        gts",[477,7167,508],{"class":507},[477,7169,3685],{"class":904},[477,7171,908],{"class":507},[477,7173,7174],{"class":904},"gt",[477,7176,667],{"class":507},[477,7178,7179,7181,7184,7186],{"class":479,"line":749},[477,7180,950],{"class":483},[477,7182,7183],{"class":487}," frames",[477,7185,573],{"class":507},[477,7187,7188],{"class":487}," gts\n",[477,7190,7191],{"class":479,"line":757},[477,7192,543],{"emptyLinePlaceholder":542},[477,7194,7195],{"class":479,"line":765},[477,7196,543],{"emptyLinePlaceholder":542},[477,7198,7199,7201,7204,7206,7208],{"class":479,"line":773},[477,7200,931],{"class":930},[477,7202,7203],{"class":934}," assoc_acc",[477,7205,908],{"class":507},[477,7207,270],{"class":940},[477,7209,944],{"class":507},[477,7211,7212,7215,7217,7219,7221,7224],{"class":479,"line":781},[477,7213,7214],{"class":487},"    tr ",[477,7216,968],{"class":967},[477,7218,560],{"class":487},[477,7220,508],{"class":507},[477,7222,7223],{"class":904},"Tracker",[477,7225,957],{"class":507},[477,7227,7228,7231,7233,7236,7238,7240,7242,7245,7247,7249,7251,7253,7255,7258,7260,7263,7265,7268,7270,7273,7275,7278],{"class":479,"line":789},[477,7229,7230],{"class":963},"        root",[477,7232,968],{"class":967},[477,7234,7235],{"class":904},"Pipe",[477,7237,908],{"class":507},[477,7239,203],{"class":963},[477,7241,968],{"class":967},[477,7243,7244],{"class":904},"Cosine",[477,7246,908],{"class":507},[477,7248,1965],{"class":1957},[477,7250,1962],{"class":1961},[477,7252,1965],{"class":1957},[477,7254,1257],{"class":507},[477,7256,7257],{"class":963}," assoc",[477,7259,968],{"class":967},[477,7261,7262],{"class":904},"Associate",[477,7264,908],{"class":507},[477,7266,7267],{"class":904},"Jonker",[477,7269,908],{"class":507},[477,7271,7272],{"class":963},"threshold",[477,7274,968],{"class":967},[477,7276,7277],{"class":911},"0.95",[477,7279,7280],{"class":507},"))),\n",[477,7282,7283,7286,7288,7290],{"class":479,"line":797},[477,7284,7285],{"class":963},"        states",[477,7287,968],{"class":967},[477,7289,270],{"class":904},[477,7291,629],{"class":507},[477,7293,7294,7297,7299,7302],{"class":479,"line":805},[477,7295,7296],{"class":963},"        lifecycle",[477,7298,968],{"class":967},[477,7300,7301],{"class":904},"NoLifecycle",[477,7303,2275],{"class":507},[477,7305,7306,7309,7311,7314],{"class":479,"line":813},[477,7307,7308],{"class":963},"        visibility",[477,7310,968],{"class":967},[477,7312,7313],{"class":904},"IncludeAll",[477,7315,2275],{"class":507},[477,7317,7318],{"class":479,"line":821},[477,7319,1193],{"class":507},[477,7321,7322,7325,7327,7329,7331,7334,7336,7338],{"class":479,"line":829},[477,7323,7324],{"class":487},"    ms ",[477,7326,968],{"class":967},[477,7328,560],{"class":487},[477,7330,508],{"class":507},[477,7332,7333],{"class":904},"MultiStream",[477,7335,908],{"class":507},[477,7337,370],{"class":904},[477,7339,667],{"class":507},[477,7341,7342,7344,7346,7348,7350,7352,7354,7357,7359,7361,7363,7366],{"class":479,"line":834},[477,7343,6844],{"class":487},[477,7345,573],{"class":507},[477,7347,1813],{"class":487},[477,7349,968],{"class":967},[477,7351,6756],{"class":904},[477,7353,908],{"class":507},[477,7355,7356],{"class":911},"99",[477,7358,573],{"class":507},[477,7360,6765],{"class":963},[477,7362,968],{"class":967},[477,7364,7365],{"class":6770},"False",[477,7367,667],{"class":507},[477,7369,7370,7373,7375,7378,7380],{"class":479,"line":854},[477,7371,7372],{"class":487},"    c ",[477,7374,968],{"class":967},[477,7376,7377],{"class":487}," t ",[477,7379,968],{"class":967},[477,7381,7382],{"class":911}," 0\n",[477,7384,7385,7387,7389,7391,7393,7395,7397],{"class":479,"line":862},[477,7386,1663],{"class":483},[477,7388,5790],{"class":487},[477,7390,1353],{"class":483},[477,7392,1819],{"class":1818},[477,7394,908],{"class":507},[477,7396,6871],{"class":1818},[477,7398,944],{"class":507},[477,7400,7401,7404,7406,7408,7410,7412,7414,7416,7418,7420,7422,7424,7426,7428,7430,7433,7435,7437,7439,7441,7443,7445,7447,7449,7451],{"class":479,"line":870},[477,7402,7403],{"class":487},"        d ",[477,7405,968],{"class":967},[477,7407,1238],{"class":904},[477,7409,908],{"class":507},[477,7411,125],{"class":963},[477,7413,968],{"class":967},[477,7415,899],{"class":904},[477,7417,508],{"class":507},[477,7419,975],{"class":904},[477,7421,908],{"class":507},[477,7423,3359],{"class":904},[477,7425,1257],{"class":507},[477,7427,1260],{"class":963},[477,7429,968],{"class":967},[477,7431,7432],{"class":904},"frames",[477,7434,1287],{"class":507},[477,7436,1306],{"class":904},[477,7438,4405],{"class":507},[477,7440,5652],{"class":904},[477,7442,2656],{"class":507},[477,7444,1282],{"class":963},[477,7446,968],{"class":967},[477,7448,1287],{"class":507},[477,7450,3359],{"class":904},[477,7452,1292],{"class":507},[477,7454,7455,7458,7460,7462,7464,7467],{"class":479,"line":878},[477,7456,7457],{"class":487},"        res ",[477,7459,968],{"class":967},[477,7461,4601],{"class":487},[477,7463,508],{"class":507},[477,7465,7466],{"class":904},"step",[477,7468,957],{"class":507},[477,7470,7471,7474,7476,7478],{"class":479,"line":886},[477,7472,7473],{"class":963},"            stream_key",[477,7475,968],{"class":967},[477,7477,912],{"class":911},[477,7479,629],{"class":507},[477,7481,7482,7485,7487,7490],{"class":479,"line":891},[477,7483,7484],{"class":963},"            detections",[477,7486,968],{"class":967},[477,7488,7489],{"class":904},"d",[477,7491,629],{"class":507},[477,7493,7494,7497,7499,7502,7504,7506,7508,7510,7512,7514,7516,7518,7520,7523,7525,7527],{"class":479,"line":896},[477,7495,7496],{"class":963},"            ctx",[477,7498,968],{"class":967},[477,7500,7501],{"class":904},"FrameContext",[477,7503,508],{"class":507},[477,7505,1332],{"class":904},[477,7507,908],{"class":507},[477,7509,1306],{"class":904},[477,7511,573],{"class":507},[477,7513,3570],{"class":963},[477,7515,968],{"class":967},[477,7517,2512],{"class":911},[477,7519,573],{"class":507},[477,7521,7522],{"class":963}," stream_key",[477,7524,968],{"class":967},[477,7526,912],{"class":911},[477,7528,982],{"class":507},[477,7530,7531],{"class":479,"line":917},[477,7532,2047],{"class":507},[477,7534,7535,7538,7540,7543,7545],{"class":479,"line":922},[477,7536,7537],{"class":483},"        if",[477,7539,5790],{"class":487},[477,7541,7542],{"class":967},">",[477,7544,5428],{"class":911},[477,7546,3777],{"class":507},[477,7548,7549,7552,7554,7557,7559,7561,7563],{"class":479,"line":927},[477,7550,7551],{"class":487},"            p ",[477,7553,968],{"class":967},[477,7555,7556],{"class":487}," res",[477,7558,508],{"class":507},[477,7560,215],{"class":511},[477,7562,508],{"class":507},[477,7564,7565],{"class":511},"matched_pairs\n",[477,7567,7568,7571,7574,7577,7579,7581,7583,7585,7587,7590,7593,7595,7597,7599,7601],{"class":479,"line":947},[477,7569,7570],{"class":487},"            c ",[477,7572,7573],{"class":967},"+=",[477,7575,7576],{"class":953}," int",[477,7578,1000],{"class":507},[477,7580,338],{"class":904},[477,7582,5425],{"class":507},[477,7584,5428],{"class":911},[477,7586,3593],{"class":507},[477,7588,7589],{"class":967}," ==",[477,7591,7592],{"class":904}," p",[477,7594,5425],{"class":507},[477,7596,1008],{"class":911},[477,7598,6049],{"class":507},[477,7600,6148],{"class":904},[477,7602,6055],{"class":507},[477,7604,7605,7608,7610,7612,7614,7617,7619,7621],{"class":479,"line":960},[477,7606,7607],{"class":487},"            t ",[477,7609,7573],{"class":967},[477,7611,7592],{"class":487},[477,7613,508],{"class":507},[477,7615,7616],{"class":511},"shape",[477,7618,1287],{"class":507},[477,7620,912],{"class":911},[477,7622,3896],{"class":507},[477,7624,7625,7627,7630,7632,7635,7637,7640,7642,7644],{"class":479,"line":985},[477,7626,950],{"class":483},[477,7628,7629],{"class":487}," c ",[477,7631,124],{"class":967},[477,7633,7634],{"class":1818}," max",[477,7636,908],{"class":507},[477,7638,7639],{"class":904},"t",[477,7641,573],{"class":507},[477,7643,1008],{"class":911},[477,7645,667],{"class":507},[477,7647,7648],{"class":479,"line":1027},[477,7649,543],{"emptyLinePlaceholder":542},[477,7651,7652],{"class":479,"line":1061},[477,7653,543],{"emptyLinePlaceholder":542},[477,7655,7656],{"class":479,"line":1094},[477,7657,7658],{"class":1926},"# Train the learned propagator\u002Ffuser through the soft association (MOTR-style).\n",[477,7660,7661,7663,7666,7668,7670,7672,7675],{"class":479,"line":1126},[477,7662,931],{"class":930},[477,7664,7665],{"class":934}," cosdist",[477,7667,908],{"class":507},[477,7669,6939],{"class":940},[477,7671,573],{"class":507},[477,7673,7674],{"class":940}," b",[477,7676,944],{"class":507},[477,7678,7679,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710],{"class":479,"line":1158},[477,7680,7681],{"class":487},"    a ",[477,7683,968],{"class":967},[477,7685,504],{"class":487},[477,7687,508],{"class":507},[477,7689,512],{"class":511},[477,7691,508],{"class":507},[477,7693,2753],{"class":511},[477,7695,508],{"class":507},[477,7697,5492],{"class":904},[477,7699,908],{"class":507},[477,7701,6939],{"class":904},[477,7703,573],{"class":507},[477,7705,1225],{"class":963},[477,7707,2850],{"class":967},[477,7709,2853],{"class":911},[477,7711,667],{"class":507},[477,7713,7714,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7738,7740,7742,7744,7746],{"class":479,"line":1190},[477,7715,7716],{"class":487},"    b ",[477,7718,968],{"class":967},[477,7720,504],{"class":487},[477,7722,508],{"class":507},[477,7724,512],{"class":511},[477,7726,508],{"class":507},[477,7728,2753],{"class":511},[477,7730,508],{"class":507},[477,7732,5492],{"class":904},[477,7734,908],{"class":507},[477,7736,7737],{"class":904},"b",[477,7739,573],{"class":507},[477,7741,1225],{"class":963},[477,7743,2850],{"class":967},[477,7745,2853],{"class":911},[477,7747,667],{"class":507},[477,7749,7750,7752,7754,7756,7759,7762,7764,7766],{"class":479,"line":1196},[477,7751,950],{"class":483},[477,7753,2296],{"class":911},[477,7755,1899],{"class":967},[477,7757,7758],{"class":487}," a ",[477,7760,7761],{"class":967},"@",[477,7763,7674],{"class":487},[477,7765,508],{"class":507},[477,7767,7768],{"class":511},"T\n",[477,7770,7771],{"class":479,"line":1201},[477,7772,543],{"emptyLinePlaceholder":542},[477,7774,7775],{"class":479,"line":1206},[477,7776,543],{"emptyLinePlaceholder":542},[477,7778,7779,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7830],{"class":479,"line":1230},[477,7780,7781],{"class":487},"prop ",[477,7783,968],{"class":967},[477,7785,2621],{"class":487},[477,7787,508],{"class":507},[477,7789,2626],{"class":904},[477,7791,908],{"class":507},[477,7793,512],{"class":904},[477,7795,508],{"class":507},[477,7797,2635],{"class":904},[477,7799,908],{"class":507},[477,7801,353],{"class":904},[477,7803,573],{"class":507},[477,7805,2644],{"class":911},[477,7807,1257],{"class":507},[477,7809,2621],{"class":904},[477,7811,508],{"class":507},[477,7813,2653],{"class":904},[477,7815,2656],{"class":507},[477,7817,2621],{"class":904},[477,7819,508],{"class":507},[477,7821,2635],{"class":904},[477,7823,908],{"class":507},[477,7825,2667],{"class":911},[477,7827,573],{"class":507},[477,7829,2257],{"class":904},[477,7831,2674],{"class":507},[477,7833,7834,7837,7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889],{"class":479,"line":1295},[477,7835,7836],{"class":487},"fuse ",[477,7838,968],{"class":967},[477,7840,2621],{"class":487},[477,7842,508],{"class":507},[477,7844,2626],{"class":904},[477,7846,908],{"class":507},[477,7848,512],{"class":904},[477,7850,508],{"class":507},[477,7852,2635],{"class":904},[477,7854,908],{"class":507},[477,7856,2700],{"class":911},[477,7858,2703],{"class":967},[477,7860,2257],{"class":904},[477,7862,573],{"class":507},[477,7864,2644],{"class":911},[477,7866,1257],{"class":507},[477,7868,2621],{"class":904},[477,7870,508],{"class":507},[477,7872,2653],{"class":904},[477,7874,2656],{"class":507},[477,7876,2621],{"class":904},[477,7878,508],{"class":507},[477,7880,2635],{"class":904},[477,7882,908],{"class":507},[477,7884,2667],{"class":911},[477,7886,573],{"class":507},[477,7888,2257],{"class":904},[477,7890,2674],{"class":507},[477,7892,7893,7896,7898,7900,7902,7904,7906,7908,7910],{"class":479,"line":1367},[477,7894,7895],{"class":487},"nrm ",[477,7897,968],{"class":967},[477,7899,504],{"class":487},[477,7901,508],{"class":507},[477,7903,512],{"class":511},[477,7905,508],{"class":507},[477,7907,2753],{"class":511},[477,7909,508],{"class":507},[477,7911,2758],{"class":511},[477,7913,7914,7917,7919,7921,7923,7925,7927,7929,7931,7933,7935,7937,7939,7941,7943,7945,7947],{"class":479,"line":1411},[477,7915,7916],{"class":487},"pf ",[477,7918,968],{"class":967},[477,7920,2814],{"class":930},[477,7922,2817],{"class":940},[477,7924,1309],{"class":507},[477,7926,2827],{"class":904},[477,7928,908],{"class":507},[477,7930,2832],{"class":904},[477,7932,2835],{"class":967},[477,7934,2838],{"class":904},[477,7936,908],{"class":507},[477,7938,2843],{"class":904},[477,7940,1257],{"class":507},[477,7942,1225],{"class":963},[477,7944,2850],{"class":967},[477,7946,2853],{"class":911},[477,7948,667],{"class":507},[477,7950,7951,7954,7956,7958,7960,7962,7964,7966,7968,7970,7972,7974,7976,7978,7980,7982,7984,7986,7988,7990,7992,7994,7996,7998,8000,8002,8004,8006],{"class":479,"line":1416},[477,7952,7953],{"class":487},"ff ",[477,7955,968],{"class":967},[477,7957,2814],{"class":930},[477,7959,2892],{"class":940},[477,7961,573],{"class":507},[477,7963,2897],{"class":940},[477,7965,1309],{"class":507},[477,7967,2827],{"class":904},[477,7969,908],{"class":507},[477,7971,2906],{"class":904},[477,7973,2835],{"class":967},[477,7975,2911],{"class":904},[477,7977,908],{"class":507},[477,7979,899],{"class":904},[477,7981,508],{"class":507},[477,7983,2920],{"class":904},[477,7985,1450],{"class":507},[477,7987,370],{"class":904},[477,7989,573],{"class":507},[477,7991,2897],{"class":904},[477,7993,2931],{"class":507},[477,7995,1899],{"class":967},[477,7997,2853],{"class":911},[477,7999,2938],{"class":507},[477,8001,1225],{"class":963},[477,8003,2850],{"class":967},[477,8005,2853],{"class":911},[477,8007,667],{"class":507},[477,8009,8010,8013,8015,8017,8019,8022,8024,8027,8029,8032,8034,8037,8039,8042,8045,8048,8050,8052,8055,8057,8059,8062,8065,8067,8070],{"class":479,"line":1421},[477,8011,8012],{"class":487},"opt ",[477,8014,968],{"class":967},[477,8016,504],{"class":487},[477,8018,508],{"class":507},[477,8020,8021],{"class":511},"optim",[477,8023,508],{"class":507},[477,8025,8026],{"class":904},"Adam",[477,8028,908],{"class":507},[477,8030,8031],{"class":953},"list",[477,8033,908],{"class":507},[477,8035,8036],{"class":904},"prop",[477,8038,508],{"class":507},[477,8040,8041],{"class":904},"parameters",[477,8043,8044],{"class":507},"())",[477,8046,8047],{"class":967}," +",[477,8049,3333],{"class":953},[477,8051,908],{"class":507},[477,8053,8054],{"class":904},"fuse",[477,8056,508],{"class":507},[477,8058,8041],{"class":904},[477,8060,8061],{"class":507},"()),",[477,8063,8064],{"class":963}," lr",[477,8066,968],{"class":967},[477,8068,8069],{"class":911},"3e-3",[477,8071,667],{"class":507},[477,8073,8074,8076,8079,8081,8083,8085,8088],{"class":479,"line":1435},[477,8075,3757],{"class":483},[477,8077,8078],{"class":487}," epoch ",[477,8080,1353],{"class":483},[477,8082,1819],{"class":1818},[477,8084,908],{"class":507},[477,8086,8087],{"class":911},"150",[477,8089,944],{"class":507},[477,8091,8092,8094,8096,8098,8100,8102,8104,8107],{"class":479,"line":1482},[477,8093,6844],{"class":487},[477,8095,573],{"class":507},[477,8097,6849],{"class":487},[477,8099,968],{"class":967},[477,8101,6756],{"class":904},[477,8103,908],{"class":507},[477,8105,8106],{"class":904},"epoch",[477,8108,667],{"class":507},[477,8110,8111,8114,8116,8118,8120,8122,8124,8127,8129,8131,8134,8136],{"class":479,"line":1492},[477,8112,8113],{"class":487},"    track ",[477,8115,968],{"class":967},[477,8117,7183],{"class":487},[477,8119,1287],{"class":507},[477,8121,912],{"class":911},[477,8123,6290],{"class":507},[477,8125,8126],{"class":487},"gts",[477,8128,1287],{"class":507},[477,8130,912],{"class":911},[477,8132,8133],{"class":507},"]].",[477,8135,5652],{"class":904},[477,8137,1835],{"class":507},[477,8139,8140,8143,8145],{"class":479,"line":1504},[477,8141,8142],{"class":487},"    loss ",[477,8144,968],{"class":967},[477,8146,8147],{"class":911}," 0.0\n",[477,8149,8150,8152,8154,8156,8158,8160,8162,8164,8166],{"class":479,"line":1537},[477,8151,1663],{"class":483},[477,8153,5790],{"class":487},[477,8155,1353],{"class":483},[477,8157,1819],{"class":1818},[477,8159,908],{"class":507},[477,8161,2853],{"class":911},[477,8163,573],{"class":507},[477,8165,6712],{"class":1818},[477,8167,944],{"class":507},[477,8169,8170,8173,8175,8178,8180,8183],{"class":479,"line":1569},[477,8171,8172],{"class":487},"        pred ",[477,8174,968],{"class":967},[477,8176,8177],{"class":904}," pf",[477,8179,908],{"class":507},[477,8181,8182],{"class":904},"track",[477,8184,667],{"class":507},[477,8186,8187,8190,8192,8195,8197,8200,8202,8205,8207,8209,8211,8213,8215,8218,8220,8223,8225,8228,8230,8233],{"class":479,"line":1589},[477,8188,8189],{"class":487},"        logP ",[477,8191,968],{"class":967},[477,8193,8194],{"class":904}," sinkhorn_log_plan",[477,8196,908],{"class":507},[477,8198,8199],{"class":904},"cosdist",[477,8201,908],{"class":507},[477,8203,8204],{"class":904},"pred",[477,8206,573],{"class":507},[477,8208,7183],{"class":904},[477,8210,1287],{"class":507},[477,8212,1306],{"class":904},[477,8214,1405],{"class":507},[477,8216,8217],{"class":963}," epsilon",[477,8219,968],{"class":967},[477,8221,8222],{"class":911},"0.05",[477,8224,573],{"class":507},[477,8226,8227],{"class":963}," num_iter",[477,8229,968],{"class":967},[477,8231,8232],{"class":911},"50",[477,8234,667],{"class":507},[477,8236,8237,8240,8242,8245,8247,8250,8252,8254,8256,8258,8260,8262,8264,8267,8269,8271,8273,8275],{"class":479,"line":1600},[477,8238,8239],{"class":487},"        loss ",[477,8241,968],{"class":967},[477,8243,8244],{"class":487}," loss ",[477,8246,6153],{"class":967},[477,8248,8249],{"class":487}," logP",[477,8251,1287],{"class":507},[477,8253,899],{"class":487},[477,8255,508],{"class":507},[477,8257,975],{"class":904},[477,8259,908],{"class":507},[477,8261,3359],{"class":904},[477,8263,1257],{"class":507},[477,8265,8266],{"class":487}," gts",[477,8268,1287],{"class":507},[477,8270,1306],{"class":487},[477,8272,8133],{"class":507},[477,8274,6160],{"class":904},[477,8276,1835],{"class":507},[477,8278,8279,8282,8284,8287,8289,8291,8293,8295,8297,8299,8301,8303,8305,8307],{"class":479,"line":1605},[477,8280,8281],{"class":487},"        track ",[477,8283,968],{"class":967},[477,8285,8286],{"class":904}," ff",[477,8288,908],{"class":507},[477,8290,8204],{"class":904},[477,8292,573],{"class":507},[477,8294,7183],{"class":904},[477,8296,1287],{"class":507},[477,8298,1306],{"class":904},[477,8300,6290],{"class":507},[477,8302,8126],{"class":904},[477,8304,1287],{"class":507},[477,8306,1306],{"class":904},[477,8308,8309],{"class":507},"]])\n",[477,8311,8312,8315,8317,8320],{"class":479,"line":1610},[477,8313,8314],{"class":487},"    opt",[477,8316,508],{"class":507},[477,8318,8319],{"class":904},"zero_grad",[477,8321,1835],{"class":507},[477,8323,8324,8327,8330,8332,8334,8336,8338,8340,8343,8346],{"class":479,"line":1615},[477,8325,8326],{"class":507},"    (",[477,8328,8329],{"class":487},"loss ",[477,8331,124],{"class":967},[477,8333,1886],{"class":507},[477,8335,6871],{"class":2986},[477,8337,1899],{"class":967},[477,8339,1008],{"class":911},[477,8341,8342],{"class":507},")).",[477,8344,8345],{"class":904},"backward",[477,8347,1835],{"class":507},[477,8349,8350,8352,8354,8356],{"class":479,"line":1649},[477,8351,8314],{"class":487},[477,8353,508],{"class":507},[477,8355,7466],{"class":904},[477,8357,1835],{"class":507},[477,8359,8360],{"class":479,"line":1660},[477,8361,543],{"emptyLinePlaceholder":542},[477,8363,8364,8367,8369],{"class":479,"line":1680},[477,8365,8366],{"class":487},"learned_states ",[477,8368,968],{"class":967},[477,8370,1952],{"class":507},[477,8372,8373,8375,8377,8379,8381,8383],{"class":479,"line":1706},[477,8374,2997],{"class":1957},[477,8376,1962],{"class":1961},[477,8378,1965],{"class":1957},[477,8380,1309],{"class":507},[477,8382,1970],{"class":904},[477,8384,957],{"class":507},[477,8386,8387,8390,8392,8394,8396,8398,8400,8402],{"class":479,"line":1723},[477,8388,8389],{"class":904},"        TensorSpec",[477,8391,1000],{"class":507},[477,8393,353],{"class":904},[477,8395,1005],{"class":507},[477,8397,504],{"class":904},[477,8399,508],{"class":507},[477,8401,1990],{"class":511},[477,8403,982],{"class":507},[477,8405,8406,8409,8411,8413,8415,8417,8419,8421,8423,8425,8427,8429,8431,8433,8435],{"class":479,"line":1755},[477,8407,8408],{"class":904},"        LearnedProcess",[477,8410,908],{"class":507},[477,8412,1965],{"class":1957},[477,8414,1962],{"class":1961},[477,8416,1965],{"class":1957},[477,8418,573],{"class":507},[477,8420,2814],{"class":930},[477,8422,2817],{"class":940},[477,8424,573],{"class":507},[477,8426,2822],{"class":940},[477,8428,1309],{"class":507},[477,8430,8177],{"class":904},[477,8432,908],{"class":507},[477,8434,2843],{"class":904},[477,8436,2856],{"class":507},[477,8438,8439,8442,8444,8446,8448,8450,8452,8454,8456,8458,8460,8462],{"class":479,"line":1763},[477,8440,8441],{"class":904},"        LearnedObservation",[477,8443,908],{"class":507},[477,8445,1965],{"class":1957},[477,8447,1962],{"class":1961},[477,8449,1965],{"class":1957},[477,8451,573],{"class":507},[477,8453,2192],{"class":1957},[477,8455,1962],{"class":1961},[477,8457,1965],{"class":1957},[477,8459,573],{"class":507},[477,8461,8286],{"class":904},[477,8463,982],{"class":507},[477,8465,8466,8469,8471,8473,8475,8477],{"class":479,"line":1768},[477,8467,8468],{"class":904},"        FromDetectionField",[477,8470,908],{"class":507},[477,8472,1965],{"class":1957},[477,8474,1962],{"class":1961},[477,8476,1965],{"class":1957},[477,8478,982],{"class":507},[477,8480,8481],{"class":479,"line":1773},[477,8482,1193],{"class":507},[477,8484,8485],{"class":479,"line":1808},[477,8486,3314],{"class":507},[477,8488,8489],{"class":479,"line":1829},[477,8490,543],{"emptyLinePlaceholder":542},[477,8492,8493,8496,8498],{"class":479,"line":1838},[477,8494,8495],{"class":487},"assoc ",[477,8497,968],{"class":967},[477,8499,6176],{"class":507},[477,8501,8502,8504,8506,8508,8510],{"class":479,"line":1856},[477,8503,3445],{"class":483},[477,8505,504],{"class":487},[477,8507,508],{"class":507},[477,8509,3452],{"class":904},[477,8511,1677],{"class":507},[477,8513,8514,8516,8518,8520],{"class":479,"line":1874},[477,8515,1663],{"class":483},[477,8517,4248],{"class":487},[477,8519,1353],{"class":483},[477,8521,6199],{"class":507},[477,8523,8524,8526,8528,8530],{"class":479,"line":1881},[477,8525,1958],{"class":1957},[477,8527,387],{"class":1961},[477,8529,1965],{"class":1957},[477,8531,629],{"class":507},[477,8533,8535,8537,8539,8541],{"class":479,"line":8534},88,[477,8536,1958],{"class":1957},[477,8538,3046],{"class":1961},[477,8540,1965],{"class":1957},[477,8542,629],{"class":507},[477,8544,8546,8548,8550,8552],{"class":479,"line":8545},89,[477,8547,1958],{"class":1957},[477,8549,403],{"class":1961},[477,8551,1965],{"class":1957},[477,8553,629],{"class":507},[477,8555,8557,8559,8561,8563],{"class":479,"line":8556},90,[477,8558,1958],{"class":1957},[477,8560,3136],{"class":1961},[477,8562,1965],{"class":1957},[477,8564,629],{"class":507},[477,8566,8568,8570,8572,8574],{"class":479,"line":8567},91,[477,8569,1958],{"class":1957},[477,8571,3181],{"class":1961},[477,8573,1965],{"class":1957},[477,8575,629],{"class":507},[477,8577,8579,8581,8583,8585],{"class":479,"line":8578},92,[477,8580,1958],{"class":1957},[477,8582,3227],{"class":1961},[477,8584,1965],{"class":1957},[477,8586,629],{"class":507},[477,8588,8590],{"class":479,"line":8589},93,[477,8591,6264],{"class":507},[477,8593,8595,8598,8600,8602,8604,8606,8608,8610,8612,8614,8616,8618,8620,8622,8624,8626,8628],{"class":479,"line":8594},94,[477,8596,8597],{"class":487},"        assoc",[477,8599,1287],{"class":507},[477,8601,3690],{"class":487},[477,8603,3593],{"class":507},[477,8605,2990],{"class":967},[477,8607,7203],{"class":904},[477,8609,908],{"class":507},[477,8611,2987],{"class":1818},[477,8613,1287],{"class":507},[477,8615,3690],{"class":904},[477,8617,6290],{"class":507},[477,8619,1965],{"class":1957},[477,8621,1332],{"class":1961},[477,8623,1965],{"class":1957},[477,8625,3498],{"class":507},[477,8627,353],{"class":904},[477,8629,2674],{"class":507},[477,8631,8633,8636,8638,8640,8642,8644,8646,8648,8650,8652,8655],{"class":479,"line":8632},95,[477,8634,8635],{"class":487},"    assoc",[477,8637,1287],{"class":507},[477,8639,1965],{"class":1957},[477,8641,309],{"class":1961},[477,8643,1965],{"class":1957},[477,8645,3593],{"class":507},[477,8647,2990],{"class":967},[477,8649,7203],{"class":904},[477,8651,908],{"class":507},[477,8653,8654],{"class":904},"learned_states",[477,8656,667],{"class":507},[477,8658,8660,8662,8664,8666,8668,8670,8672,8674,8676,8678,8680,8682,8684,8686,8688],{"class":479,"line":8659},96,[477,8661,3831],{"class":487},[477,8663,573],{"class":507},[477,8665,3836],{"class":487},[477,8667,968],{"class":967},[477,8669,3841],{"class":487},[477,8671,508],{"class":507},[477,8673,3846],{"class":904},[477,8675,908],{"class":507},[477,8677,3851],{"class":963},[477,8679,968],{"class":967},[477,8681,908],{"class":507},[477,8683,3858],{"class":911},[477,8685,573],{"class":507},[477,8687,3863],{"class":911},[477,8689,2674],{"class":507},[477,8691,8693,8695,8697,8699,8701,8704],{"class":479,"line":8692},97,[477,8694,3870],{"class":487},[477,8696,968],{"class":967},[477,8698,3333],{"class":953},[477,8700,908],{"class":507},[477,8702,8703],{"class":904},"assoc",[477,8705,667],{"class":507},[477,8707,8709,8711,8713,8715,8717,8719,8721,8723,8725,8727,8729,8731],{"class":479,"line":8708},98,[477,8710,6364],{"class":487},[477,8712,968],{"class":967},[477,8714,3875],{"class":507},[477,8716,8703],{"class":487},[477,8718,1287],{"class":507},[477,8720,941],{"class":487},[477,8722,3593],{"class":507},[477,8724,1342],{"class":483},[477,8726,6381],{"class":487},[477,8728,1353],{"class":483},[477,8730,6386],{"class":487},[477,8732,3896],{"class":507},[477,8734,8736,8739,8741,8743,8745,8748,8750,8752,8754,8757,8760,8763,8765,8767,8769,8771,8773,8775,8777],{"class":479,"line":8735},99,[477,8737,8738],{"class":487},"cols ",[477,8740,968],{"class":967},[477,8742,3875],{"class":507},[477,8744,1965],{"class":1957},[477,8746,8747],{"class":1961},"tab:red",[477,8749,1965],{"class":1957},[477,8751,7063],{"class":483},[477,8753,6595],{"class":487},[477,8755,8756],{"class":967},"\u003C",[477,8758,8759],{"class":911}," 0.5",[477,8761,8762],{"class":483}," else",[477,8764,2192],{"class":1957},[477,8766,6417],{"class":1961},[477,8768,1965],{"class":1957},[477,8770,1342],{"class":483},[477,8772,6595],{"class":487},[477,8774,1353],{"class":483},[477,8776,6406],{"class":487},[477,8778,3896],{"class":507},[477,8780,8782,8784,8786,8788,8790,8792,8794,8796,8798,8800,8802,8805],{"class":479,"line":8781},100,[477,8783,3928],{"class":487},[477,8785,508],{"class":507},[477,8787,6397],{"class":904},[477,8789,908],{"class":507},[477,8791,3938],{"class":904},[477,8793,573],{"class":507},[477,8795,6406],{"class":904},[477,8797,573],{"class":507},[477,8799,3948],{"class":963},[477,8801,968],{"class":967},[477,8803,8804],{"class":904},"cols",[477,8806,667],{"class":507},[477,8808,8810,8812,8814,8816,8818,8820,8822,8825],{"class":479,"line":8809},101,[477,8811,3928],{"class":487},[477,8813,508],{"class":507},[477,8815,6496],{"class":904},[477,8817,908],{"class":507},[477,8819,912],{"class":911},[477,8821,573],{"class":507},[477,8823,8824],{"class":911}," 1.05",[477,8826,667],{"class":507},[477,8828,8830,8832,8834,8836,8838,8840,8843,8845],{"class":479,"line":8829},102,[477,8831,3928],{"class":487},[477,8833,508],{"class":507},[477,8835,4690],{"class":904},[477,8837,908],{"class":507},[477,8839,1965],{"class":1957},[477,8841,8842],{"class":1961},"identity-association accuracy",[477,8844,1965],{"class":1957},[477,8846,667],{"class":507},[477,8848,8850,8852,8854,8856,8858,8860,8863,8865],{"class":479,"line":8849},103,[477,8851,3928],{"class":487},[477,8853,508],{"class":507},[477,8855,4008],{"class":904},[477,8857,908],{"class":507},[477,8859,1965],{"class":1957},[477,8861,8862],{"class":1961},"Association under fast motion — only learned anticipates (D=16)",[477,8864,1965],{"class":1957},[477,8866,667],{"class":507},[477,8868,8870,8872,8874,8876,8878,8880,8882,8884,8886],{"class":479,"line":8869},104,[477,8871,3757],{"class":483},[477,8873,4042],{"class":487},[477,8875,573],{"class":507},[477,8877,6595],{"class":487},[477,8879,1353],{"class":483},[477,8881,4051],{"class":1818},[477,8883,908],{"class":507},[477,8885,6604],{"class":904},[477,8887,944],{"class":507},[477,8889,8891,8893,8895,8897,8899,8901,8903,8905,8907,8910,8912,8914,8916,8918,8920,8923,8925,8927,8929,8931,8933,8935,8937,8939,8941,8943,8945,8947],{"class":479,"line":8890},105,[477,8892,4063],{"class":487},[477,8894,508],{"class":507},[477,8896,4068],{"class":904},[477,8898,908],{"class":507},[477,8900,6619],{"class":904},[477,8902,573],{"class":507},[477,8904,6595],{"class":904},[477,8906,2835],{"class":967},[477,8908,8909],{"class":911}," 0.01",[477,8911,573],{"class":507},[477,8913,3764],{"class":930},[477,8915,1965],{"class":1961},[477,8917,3733],{"class":911},[477,8919,6639],{"class":904},[477,8921,8922],{"class":930},":.2f",[477,8924,3738],{"class":911},[477,8926,1965],{"class":1961},[477,8928,573],{"class":507},[477,8930,6650],{"class":963},[477,8932,968],{"class":967},[477,8934,1965],{"class":1957},[477,8936,4106],{"class":1961},[477,8938,1965],{"class":1957},[477,8940,573],{"class":507},[477,8942,4113],{"class":963},[477,8944,968],{"class":967},[477,8946,2588],{"class":911},[477,8948,667],{"class":507},[477,8950,8952,8954,8956,8958,8960,8962,8964,8966],{"class":479,"line":8951},106,[477,8953,4158],{"class":487},[477,8955,508],{"class":507},[477,8957,6572],{"class":904},[477,8959,908],{"class":507},[477,8961,6577],{"class":963},[477,8963,968],{"class":967},[477,8965,6582],{"class":911},[477,8967,667],{"class":507},[477,8969,8971,8973,8975,8977],{"class":479,"line":8970},107,[477,8972,4158],{"class":487},[477,8974,508],{"class":507},[477,8976,4163],{"class":904},[477,8978,1835],{"class":507},[477,8980,8982,8984,8986,8988],{"class":479,"line":8981},108,[477,8983,4158],{"class":487},[477,8985,508],{"class":507},[477,8987,4174],{"class":904},[477,8989,1835],{"class":507},[338,8991,8992],{},[4183,8993],{"alt":473,"src":8994},"\u002F_nb\u002Fe0a202d6ce395485.png",[468,8996,8998],{"className":470,"code":8997,"language":472,"meta":473,"style":473},"# ---- the side-by-side table ----\nFAILSUCCESS = {\n    \"EMA\": (\"cheap default smoothing\", \"no uncertainty; reactive\"),\n    \"diag-Kalman\": (\"adaptive uncertainty, small D\", \"dense O(D³) at large D\"),\n    \"vMF\": (\"cosine\u002Fnormalised embeddings\", \"needs decay tuning\"),\n    \"info-filter\": (\"exact posterior; fuse cues\", \"O(D³); large D\"),\n    \"EnKF (E=32)\": (\"full covariance at large D\", \"collapses w\u002Fo inflation\"),\n    \"gallery (K=8)\": (\"appearance change \u002F re-ID\", \"no smoothing; K× match\"),\n    \"learned\": (\"anticipate complex motion\", \"needs training data\"),\n}\norder = [\n    \"EMA\",\n    \"diag-Kalman\",\n    \"vMF\",\n    \"info-filter\",\n    \"EnKF (E=32)\",\n    \"gallery (K=8)\",\n    \"learned\",\n]\nheader = [\n    \"method\",\n    \"FLOPs\u002Fupdate\",\n    \"us@D256\",\n    \"denoise\",\n    \"assoc\",\n    \"effort\",\n    \"best for\",\n    \"fails at\",\n]\ncells = []\nfor n in order:\n    cells.append(\n        [\n            n,\n            METHODS[n][\"flops\"],\n            f\"{METHODS[n]['us256']:.0f}\",\n            f\"{METHODS_denoise.get(n, float('nan')):.3f}\"\n            if n in METHODS_denoise\n            else \"—\",\n            f\"{assoc.get(n, float('nan')):.2f}\" if n in assoc else \"—\",\n            \"★\" * METHODS[n][\"effort\"],\n            FAILSUCCESS[n][0],\n            FAILSUCCESS[n][1],\n        ]\n    )\nfig, ax = plt.subplots(figsize=(16, 3.2))\nax.axis(\"off\")\ntbl = ax.table(\n    cellText=cells,\n    colLabels=header,\n    loc=\"center\",\n    cellLoc=\"left\",\n    colWidths=[0.085, 0.13, 0.06, 0.06, 0.05, 0.07, 0.21, 0.21],\n)\ntbl.auto_set_font_size(False)\ntbl.set_fontsize(8.5)\ntbl.scale(1, 1.6)\nfor j in range(len(header)):\n    tbl[0, j].set_facecolor(\"#dddddd\")\n    tbl[0, j].set_text_props(weight=\"bold\")\nax.set_title(\"Embedding filters, side by side\", fontsize=11, pad=12)\nplt.tight_layout()\nplt.show()\n\n",[342,8999,9000,9005,9014,9044,9074,9104,9134,9164,9194,9224,9228,9237,9247,9257,9267,9277,9287,9297,9307,9311,9320,9331,9342,9353,9363,9373,9383,9394,9405,9409,9418,9431,9442,9447,9454,9473,9507,9548,9560,9574,9631,9659,9674,9688,9693,9697,9730,9750,9766,9778,9790,9805,9821,9868,9872,9888,9904,9924,9946,9976,10009,10047,10057],{"__ignoreMap":473},[477,9001,9002],{"class":479,"line":480},[477,9003,9004],{"class":1926},"# ---- the side-by-side table ----\n",[477,9006,9007,9010,9012],{"class":479,"line":491},[477,9008,9009],{"class":2986},"FAILSUCCESS",[477,9011,2990],{"class":967},[477,9013,1952],{"class":507},[477,9015,9016,9018,9020,9022,9024,9026,9028,9031,9033,9035,9037,9040,9042],{"class":479,"line":499},[477,9017,2997],{"class":1957},[477,9019,387],{"class":1961},[477,9021,1965],{"class":1957},[477,9023,1309],{"class":507},[477,9025,1886],{"class":507},[477,9027,1965],{"class":1957},[477,9029,9030],{"class":1961},"cheap default smoothing",[477,9032,1965],{"class":1957},[477,9034,573],{"class":507},[477,9036,2192],{"class":1957},[477,9038,9039],{"class":1961},"no uncertainty; reactive",[477,9041,1965],{"class":1957},[477,9043,982],{"class":507},[477,9045,9046,9048,9050,9052,9054,9056,9058,9061,9063,9065,9067,9070,9072],{"class":479,"line":521},[477,9047,2997],{"class":1957},[477,9049,3046],{"class":1961},[477,9051,1965],{"class":1957},[477,9053,1309],{"class":507},[477,9055,1886],{"class":507},[477,9057,1965],{"class":1957},[477,9059,9060],{"class":1961},"adaptive uncertainty, small D",[477,9062,1965],{"class":1957},[477,9064,573],{"class":507},[477,9066,2192],{"class":1957},[477,9068,9069],{"class":1961},"dense O(D³) at large D",[477,9071,1965],{"class":1957},[477,9073,982],{"class":507},[477,9075,9076,9078,9080,9082,9084,9086,9088,9091,9093,9095,9097,9100,9102],{"class":479,"line":539},[477,9077,2997],{"class":1957},[477,9079,403],{"class":1961},[477,9081,1965],{"class":1957},[477,9083,1309],{"class":507},[477,9085,1886],{"class":507},[477,9087,1965],{"class":1957},[477,9089,9090],{"class":1961},"cosine\u002Fnormalised embeddings",[477,9092,1965],{"class":1957},[477,9094,573],{"class":507},[477,9096,2192],{"class":1957},[477,9098,9099],{"class":1961},"needs decay tuning",[477,9101,1965],{"class":1957},[477,9103,982],{"class":507},[477,9105,9106,9108,9110,9112,9114,9116,9118,9121,9123,9125,9127,9130,9132],{"class":479,"line":546},[477,9107,2997],{"class":1957},[477,9109,3136],{"class":1961},[477,9111,1965],{"class":1957},[477,9113,1309],{"class":507},[477,9115,1886],{"class":507},[477,9117,1965],{"class":1957},[477,9119,9120],{"class":1961},"exact posterior; fuse cues",[477,9122,1965],{"class":1957},[477,9124,573],{"class":507},[477,9126,2192],{"class":1957},[477,9128,9129],{"class":1961},"O(D³); large D",[477,9131,1965],{"class":1957},[477,9133,982],{"class":507},[477,9135,9136,9138,9140,9142,9144,9146,9148,9151,9153,9155,9157,9160,9162],{"class":479,"line":554},[477,9137,2997],{"class":1957},[477,9139,3181],{"class":1961},[477,9141,1965],{"class":1957},[477,9143,1309],{"class":507},[477,9145,1886],{"class":507},[477,9147,1965],{"class":1957},[477,9149,9150],{"class":1961},"full covariance at large D",[477,9152,1965],{"class":1957},[477,9154,573],{"class":507},[477,9156,2192],{"class":1957},[477,9158,9159],{"class":1961},"collapses w\u002Fo inflation",[477,9161,1965],{"class":1957},[477,9163,982],{"class":507},[477,9165,9166,9168,9170,9172,9174,9176,9178,9181,9183,9185,9187,9190,9192],{"class":479,"line":584},[477,9167,2997],{"class":1957},[477,9169,3227],{"class":1961},[477,9171,1965],{"class":1957},[477,9173,1309],{"class":507},[477,9175,1886],{"class":507},[477,9177,1965],{"class":1957},[477,9179,9180],{"class":1961},"appearance change \u002F re-ID",[477,9182,1965],{"class":1957},[477,9184,573],{"class":507},[477,9186,2192],{"class":1957},[477,9188,9189],{"class":1961},"no smoothing; K× match",[477,9191,1965],{"class":1957},[477,9193,982],{"class":507},[477,9195,9196,9198,9200,9202,9204,9206,9208,9211,9213,9215,9217,9220,9222],{"class":479,"line":606},[477,9197,2997],{"class":1957},[477,9199,309],{"class":1961},[477,9201,1965],{"class":1957},[477,9203,1309],{"class":507},[477,9205,1886],{"class":507},[477,9207,1965],{"class":1957},[477,9209,9210],{"class":1961},"anticipate complex motion",[477,9212,1965],{"class":1957},[477,9214,573],{"class":507},[477,9216,2192],{"class":1957},[477,9218,9219],{"class":1961},"needs training data",[477,9221,1965],{"class":1957},[477,9223,982],{"class":507},[477,9225,9226],{"class":479,"line":623},[477,9227,3314],{"class":507},[477,9229,9230,9233,9235],{"class":479,"line":632},[477,9231,9232],{"class":487},"order ",[477,9234,968],{"class":967},[477,9236,6199],{"class":507},[477,9238,9239,9241,9243,9245],{"class":479,"line":640},[477,9240,2997],{"class":1957},[477,9242,387],{"class":1961},[477,9244,1965],{"class":1957},[477,9246,629],{"class":507},[477,9248,9249,9251,9253,9255],{"class":479,"line":648},[477,9250,2997],{"class":1957},[477,9252,3046],{"class":1961},[477,9254,1965],{"class":1957},[477,9256,629],{"class":507},[477,9258,9259,9261,9263,9265],{"class":479,"line":656},[477,9260,2997],{"class":1957},[477,9262,403],{"class":1961},[477,9264,1965],{"class":1957},[477,9266,629],{"class":507},[477,9268,9269,9271,9273,9275],{"class":479,"line":664},[477,9270,2997],{"class":1957},[477,9272,3136],{"class":1961},[477,9274,1965],{"class":1957},[477,9276,629],{"class":507},[477,9278,9279,9281,9283,9285],{"class":479,"line":670},[477,9280,2997],{"class":1957},[477,9282,3181],{"class":1961},[477,9284,1965],{"class":1957},[477,9286,629],{"class":507},[477,9288,9289,9291,9293,9295],{"class":479,"line":692},[477,9290,2997],{"class":1957},[477,9292,3227],{"class":1961},[477,9294,1965],{"class":1957},[477,9296,629],{"class":507},[477,9298,9299,9301,9303,9305],{"class":479,"line":709},[477,9300,2997],{"class":1957},[477,9302,309],{"class":1961},[477,9304,1965],{"class":1957},[477,9306,629],{"class":507},[477,9308,9309],{"class":479,"line":725},[477,9310,3896],{"class":507},[477,9312,9313,9316,9318],{"class":479,"line":733},[477,9314,9315],{"class":487},"header ",[477,9317,968],{"class":967},[477,9319,6199],{"class":507},[477,9321,9322,9324,9327,9329],{"class":479,"line":741},[477,9323,2997],{"class":1957},[477,9325,9326],{"class":1961},"method",[477,9328,1965],{"class":1957},[477,9330,629],{"class":507},[477,9332,9333,9335,9338,9340],{"class":479,"line":749},[477,9334,2997],{"class":1957},[477,9336,9337],{"class":1961},"FLOPs\u002Fupdate",[477,9339,1965],{"class":1957},[477,9341,629],{"class":507},[477,9343,9344,9346,9349,9351],{"class":479,"line":757},[477,9345,2997],{"class":1957},[477,9347,9348],{"class":1961},"us@D256",[477,9350,1965],{"class":1957},[477,9352,629],{"class":507},[477,9354,9355,9357,9359,9361],{"class":479,"line":765},[477,9356,2997],{"class":1957},[477,9358,6357],{"class":1961},[477,9360,1965],{"class":1957},[477,9362,629],{"class":507},[477,9364,9365,9367,9369,9371],{"class":479,"line":773},[477,9366,2997],{"class":1957},[477,9368,8703],{"class":1961},[477,9370,1965],{"class":1957},[477,9372,629],{"class":507},[477,9374,9375,9377,9379,9381],{"class":479,"line":781},[477,9376,2997],{"class":1957},[477,9378,361],{"class":1961},[477,9380,1965],{"class":1957},[477,9382,629],{"class":507},[477,9384,9385,9387,9390,9392],{"class":479,"line":789},[477,9386,2997],{"class":1957},[477,9388,9389],{"class":1961},"best for",[477,9391,1965],{"class":1957},[477,9393,629],{"class":507},[477,9395,9396,9398,9401,9403],{"class":479,"line":797},[477,9397,2997],{"class":1957},[477,9399,9400],{"class":1961},"fails at",[477,9402,1965],{"class":1957},[477,9404,629],{"class":507},[477,9406,9407],{"class":479,"line":805},[477,9408,3896],{"class":507},[477,9410,9411,9414,9416],{"class":479,"line":813},[477,9412,9413],{"class":487},"cells ",[477,9415,968],{"class":967},[477,9417,3440],{"class":507},[477,9419,9420,9422,9424,9426,9429],{"class":479,"line":821},[477,9421,3757],{"class":483},[477,9423,6381],{"class":487},[477,9425,1353],{"class":483},[477,9427,9428],{"class":487}," order",[477,9430,3777],{"class":507},[477,9432,9433,9436,9438,9440],{"class":479,"line":829},[477,9434,9435],{"class":487},"    cells",[477,9437,508],{"class":507},[477,9439,3685],{"class":904},[477,9441,957],{"class":507},[477,9443,9444],{"class":479,"line":834},[477,9445,9446],{"class":507},"        [\n",[477,9448,9449,9452],{"class":479,"line":854},[477,9450,9451],{"class":904},"            n",[477,9453,629],{"class":507},[477,9455,9456,9459,9461,9463,9465,9467,9469,9471],{"class":479,"line":862},[477,9457,9458],{"class":1818},"            METHODS",[477,9460,1287],{"class":507},[477,9462,941],{"class":904},[477,9464,6290],{"class":507},[477,9466,1965],{"class":1957},[477,9468,3701],{"class":1961},[477,9470,1965],{"class":1957},[477,9472,5755],{"class":507},[477,9474,9475,9478,9480,9482,9484,9486,9488,9490,9493,9495,9497,9499,9501,9503,9505],{"class":479,"line":870},[477,9476,9477],{"class":930},"            f",[477,9479,1965],{"class":1961},[477,9481,3733],{"class":911},[477,9483,2987],{"class":1818},[477,9485,1287],{"class":507},[477,9487,941],{"class":904},[477,9489,6290],{"class":507},[477,9491,9492],{"class":1957},"'",[477,9494,3588],{"class":1961},[477,9496,9492],{"class":1957},[477,9498,3593],{"class":507},[477,9500,4090],{"class":930},[477,9502,3738],{"class":911},[477,9504,1965],{"class":1961},[477,9506,629],{"class":507},[477,9508,9509,9511,9513,9515,9517,9519,9522,9524,9526,9528,9531,9533,9535,9538,9540,9542,9544,9546],{"class":479,"line":878},[477,9510,9477],{"class":930},[477,9512,1965],{"class":1961},[477,9514,3733],{"class":911},[477,9516,6307],{"class":1818},[477,9518,508],{"class":507},[477,9520,9521],{"class":904},"get",[477,9523,908],{"class":507},[477,9525,941],{"class":904},[477,9527,573],{"class":507},[477,9529,9530],{"class":953}," float",[477,9532,908],{"class":507},[477,9534,9492],{"class":1957},[477,9536,9537],{"class":1961},"nan",[477,9539,9492],{"class":1957},[477,9541,1339],{"class":507},[477,9543,6480],{"class":930},[477,9545,3738],{"class":911},[477,9547,4721],{"class":1961},[477,9549,9550,9553,9555,9557],{"class":479,"line":886},[477,9551,9552],{"class":483},"            if",[477,9554,6381],{"class":904},[477,9556,1353],{"class":967},[477,9558,9559],{"class":1818}," METHODS_denoise\n",[477,9561,9562,9565,9567,9570,9572],{"class":479,"line":891},[477,9563,9564],{"class":483},"            else",[477,9566,2192],{"class":1957},[477,9568,9569],{"class":1961},"—",[477,9571,1965],{"class":1957},[477,9573,629],{"class":507},[477,9575,9576,9578,9580,9582,9584,9586,9588,9590,9592,9594,9596,9598,9600,9602,9604,9606,9608,9610,9612,9614,9616,9618,9621,9623,9625,9627,9629],{"class":479,"line":896},[477,9577,9477],{"class":930},[477,9579,1965],{"class":1961},[477,9581,3733],{"class":911},[477,9583,8703],{"class":904},[477,9585,508],{"class":507},[477,9587,9521],{"class":904},[477,9589,908],{"class":507},[477,9591,941],{"class":904},[477,9593,573],{"class":507},[477,9595,9530],{"class":953},[477,9597,908],{"class":507},[477,9599,9492],{"class":1957},[477,9601,9537],{"class":1961},[477,9603,9492],{"class":1957},[477,9605,1339],{"class":507},[477,9607,8922],{"class":930},[477,9609,3738],{"class":911},[477,9611,1965],{"class":1961},[477,9613,7063],{"class":483},[477,9615,6381],{"class":904},[477,9617,1353],{"class":967},[477,9619,9620],{"class":904}," assoc ",[477,9622,7069],{"class":483},[477,9624,2192],{"class":1957},[477,9626,9569],{"class":1961},[477,9628,1965],{"class":1957},[477,9630,629],{"class":507},[477,9632,9633,9636,9639,9641,9643,9645,9647,9649,9651,9653,9655,9657],{"class":479,"line":917},[477,9634,9635],{"class":1957},"            \"",[477,9637,9638],{"class":1961},"★",[477,9640,1965],{"class":1957},[477,9642,2703],{"class":967},[477,9644,3471],{"class":1818},[477,9646,1287],{"class":507},[477,9648,941],{"class":904},[477,9650,6290],{"class":507},[477,9652,1965],{"class":1957},[477,9654,361],{"class":1961},[477,9656,1965],{"class":1957},[477,9658,5755],{"class":507},[477,9660,9661,9664,9666,9668,9670,9672],{"class":479,"line":922},[477,9662,9663],{"class":1818},"            FAILSUCCESS",[477,9665,1287],{"class":507},[477,9667,941],{"class":904},[477,9669,6290],{"class":507},[477,9671,912],{"class":911},[477,9673,5755],{"class":507},[477,9675,9676,9678,9680,9682,9684,9686],{"class":479,"line":927},[477,9677,9663],{"class":1818},[477,9679,1287],{"class":507},[477,9681,941],{"class":904},[477,9683,6290],{"class":507},[477,9685,2853],{"class":911},[477,9687,5755],{"class":507},[477,9689,9690],{"class":479,"line":947},[477,9691,9692],{"class":507},"        ]\n",[477,9694,9695],{"class":479,"line":960},[477,9696,1193],{"class":507},[477,9698,9699,9701,9703,9705,9707,9709,9711,9713,9715,9717,9719,9721,9723,9725,9728],{"class":479,"line":985},[477,9700,3831],{"class":487},[477,9702,573],{"class":507},[477,9704,3836],{"class":487},[477,9706,968],{"class":967},[477,9708,3841],{"class":487},[477,9710,508],{"class":507},[477,9712,3846],{"class":904},[477,9714,908],{"class":507},[477,9716,3851],{"class":963},[477,9718,968],{"class":967},[477,9720,908],{"class":507},[477,9722,4207],{"class":911},[477,9724,573],{"class":507},[477,9726,9727],{"class":911}," 3.2",[477,9729,2674],{"class":507},[477,9731,9732,9734,9736,9739,9741,9743,9746,9748],{"class":479,"line":1027},[477,9733,3928],{"class":487},[477,9735,508],{"class":507},[477,9737,9738],{"class":904},"axis",[477,9740,908],{"class":507},[477,9742,1965],{"class":1957},[477,9744,9745],{"class":1961},"off",[477,9747,1965],{"class":1957},[477,9749,667],{"class":507},[477,9751,9752,9755,9757,9760,9762,9764],{"class":479,"line":1061},[477,9753,9754],{"class":487},"tbl ",[477,9756,968],{"class":967},[477,9758,9759],{"class":487}," ax",[477,9761,508],{"class":507},[477,9763,364],{"class":904},[477,9765,957],{"class":507},[477,9767,9768,9771,9773,9776],{"class":479,"line":1094},[477,9769,9770],{"class":963},"    cellText",[477,9772,968],{"class":967},[477,9774,9775],{"class":904},"cells",[477,9777,629],{"class":507},[477,9779,9780,9783,9785,9788],{"class":479,"line":1126},[477,9781,9782],{"class":963},"    colLabels",[477,9784,968],{"class":967},[477,9786,9787],{"class":904},"header",[477,9789,629],{"class":507},[477,9791,9792,9795,9797,9799,9801,9803],{"class":479,"line":1158},[477,9793,9794],{"class":963},"    loc",[477,9796,968],{"class":967},[477,9798,1965],{"class":1957},[477,9800,4106],{"class":1961},[477,9802,1965],{"class":1957},[477,9804,629],{"class":507},[477,9806,9807,9810,9812,9814,9817,9819],{"class":479,"line":1190},[477,9808,9809],{"class":963},"    cellLoc",[477,9811,968],{"class":967},[477,9813,1965],{"class":1957},[477,9815,9816],{"class":1961},"left",[477,9818,1965],{"class":1957},[477,9820,629],{"class":507},[477,9822,9823,9826,9828,9830,9833,9835,9838,9840,9843,9845,9847,9849,9852,9854,9857,9859,9862,9864,9866],{"class":479,"line":1196},[477,9824,9825],{"class":963},"    colWidths",[477,9827,968],{"class":967},[477,9829,1287],{"class":507},[477,9831,9832],{"class":911},"0.085",[477,9834,573],{"class":507},[477,9836,9837],{"class":911}," 0.13",[477,9839,573],{"class":507},[477,9841,9842],{"class":911}," 0.06",[477,9844,573],{"class":507},[477,9846,9842],{"class":911},[477,9848,573],{"class":507},[477,9850,9851],{"class":911}," 0.05",[477,9853,573],{"class":507},[477,9855,9856],{"class":911}," 0.07",[477,9858,573],{"class":507},[477,9860,9861],{"class":911}," 0.21",[477,9863,573],{"class":507},[477,9865,9861],{"class":911},[477,9867,5755],{"class":507},[477,9869,9870],{"class":479,"line":1201},[477,9871,667],{"class":507},[477,9873,9874,9877,9879,9882,9884,9886],{"class":479,"line":1206},[477,9875,9876],{"class":487},"tbl",[477,9878,508],{"class":507},[477,9880,9881],{"class":904},"auto_set_font_size",[477,9883,908],{"class":507},[477,9885,7365],{"class":6770},[477,9887,667],{"class":507},[477,9889,9890,9892,9894,9897,9899,9902],{"class":479,"line":1230},[477,9891,9876],{"class":487},[477,9893,508],{"class":507},[477,9895,9896],{"class":904},"set_fontsize",[477,9898,908],{"class":507},[477,9900,9901],{"class":911},"8.5",[477,9903,667],{"class":507},[477,9905,9906,9908,9910,9913,9915,9917,9919,9922],{"class":479,"line":1295},[477,9907,9876],{"class":487},[477,9909,508],{"class":507},[477,9911,9912],{"class":904},"scale",[477,9914,908],{"class":507},[477,9916,2853],{"class":911},[477,9918,573],{"class":507},[477,9920,9921],{"class":911}," 1.6",[477,9923,667],{"class":507},[477,9925,9926,9928,9931,9933,9935,9937,9940,9942,9944],{"class":479,"line":1367},[477,9927,3757],{"class":483},[477,9929,9930],{"class":487}," j ",[477,9932,1353],{"class":483},[477,9934,1819],{"class":1818},[477,9936,908],{"class":507},[477,9938,9939],{"class":1818},"len",[477,9941,908],{"class":507},[477,9943,9787],{"class":904},[477,9945,5810],{"class":507},[477,9947,9948,9951,9953,9955,9957,9960,9962,9965,9967,9969,9972,9974],{"class":479,"line":1411},[477,9949,9950],{"class":487},"    tbl",[477,9952,1287],{"class":507},[477,9954,912],{"class":911},[477,9956,573],{"class":507},[477,9958,9959],{"class":487}," j",[477,9961,4405],{"class":507},[477,9963,9964],{"class":904},"set_facecolor",[477,9966,908],{"class":507},[477,9968,1965],{"class":1957},[477,9970,9971],{"class":1961},"#dddddd",[477,9973,1965],{"class":1957},[477,9975,667],{"class":507},[477,9977,9978,9980,9982,9984,9986,9988,9990,9993,9995,9998,10000,10002,10005,10007],{"class":479,"line":1416},[477,9979,9950],{"class":487},[477,9981,1287],{"class":507},[477,9983,912],{"class":911},[477,9985,573],{"class":507},[477,9987,9959],{"class":487},[477,9989,4405],{"class":507},[477,9991,9992],{"class":904},"set_text_props",[477,9994,908],{"class":507},[477,9996,9997],{"class":963},"weight",[477,9999,968],{"class":967},[477,10001,1965],{"class":1957},[477,10003,10004],{"class":1961},"bold",[477,10006,1965],{"class":1957},[477,10008,667],{"class":507},[477,10010,10011,10013,10015,10017,10019,10021,10024,10026,10028,10030,10032,10035,10037,10040,10042,10045],{"class":479,"line":1421},[477,10012,3928],{"class":487},[477,10014,508],{"class":507},[477,10016,4008],{"class":904},[477,10018,908],{"class":507},[477,10020,1965],{"class":1957},[477,10022,10023],{"class":1961},"Embedding filters, side by side",[477,10025,1965],{"class":1957},[477,10027,573],{"class":507},[477,10029,4113],{"class":963},[477,10031,968],{"class":967},[477,10033,10034],{"class":911},"11",[477,10036,573],{"class":507},[477,10038,10039],{"class":963}," pad",[477,10041,968],{"class":967},[477,10043,10044],{"class":911},"12",[477,10046,667],{"class":507},[477,10048,10049,10051,10053,10055],{"class":479,"line":1435},[477,10050,4158],{"class":487},[477,10052,508],{"class":507},[477,10054,4163],{"class":904},[477,10056,1835],{"class":507},[477,10058,10059,10061,10063,10065],{"class":479,"line":1482},[477,10060,4158],{"class":487},[477,10062,508],{"class":507},[477,10064,4174],{"class":904},[477,10066,1835],{"class":507},[338,10068,10069],{},[4183,10070],{"alt":473,"src":10071},"\u002F_nb\u002F529b92e29435714c.png",[3346,10073,10075],{"id":10074},"how-to-choose","How to choose",[4807,10077,10078,10084,10100,10110,10125,10135],{},[4810,10079,10080,10083],{},[347,10081,10082],{},"Default to EMA."," Cheapest, robust, one knob. Reach further only\nwhen it isn't enough.",[4810,10085,10086,10087,10090,10091,10093,10094,10096,10097,10099],{},"Want ",[347,10088,10089],{},"calibrated uncertainty"," (for gating) and ",[342,10092,353],{}," is small →\n",[347,10095,395],{}," or the ",[347,10098,411],{}," (exact, and the\nIF fuses many cues by addition).",[4810,10101,10102,10103,10106,10107,10109],{},"Embeddings are ",[347,10104,10105],{},"cosine-normalised"," and you want a confidence →\n",[347,10108,403],{}," (just tune the decay to the drift rate).",[4810,10111,10112,10114,10115,10118,10119,10121,10122,10124],{},[342,10113,353],{}," is ",[347,10116,10117],{},"large"," and you still want covariance → ",[347,10120,419],{}," (give it\nenough inflation), the only ",[342,10123,3393],{},"-friendly full-covariance option.",[4810,10126,10127,10128,10131,10132,10134],{},"Appearance ",[347,10129,10130],{},"changes \u002F re-ID gaps"," → a ",[347,10133,191],{},"; it does not\nsmooth, it remembers.",[4810,10136,10137,10138,10131,10141,10143],{},"Motion is ",[347,10139,10140],{},"complex and you have data",[347,10142,309],{}," module,\ntrained through the association — the only method that anticipates\nrather than reacts, at the cost of a training pipeline.",[338,10145,10146,10147,10149],{},"No method dominates: the dense filters denoise best but don't scale;\nthe EnKF scales but must be inflated; the gallery and learned modules\nwin tasks the smoothers structurally cannot. The shared ",[342,10148,344],{},"\ninterface means you can swap among them — or compose them — without\ntouching the rest of the tracker.",[10151,10152,10153],"style",{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sFwrP, html code.shiki .sFwrP{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#24292E;--shiki-default-font-style:inherit;--shiki-dark:#E1E4E8;--shiki-dark-font-style:inherit}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s2W-s, html code.shiki .s2W-s{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#032F62;--shiki-default-font-style:inherit;--shiki-dark:#9ECBFF;--shiki-dark-font-style:inherit}html pre.shiki code .sithA, html code.shiki .sithA{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#032F62;--shiki-default-font-style:inherit;--shiki-dark:#9ECBFF;--shiki-dark-font-style:inherit}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":473,"searchDepth":499,"depth":499,"links":10155},[10156,10158,10159],{"id":3348,"depth":491,"text":10157},"1 — Compute: FLOPs and how they scale with D",{"id":5247,"depth":491,"text":5248},{"id":10074,"depth":491,"text":10075},"Seven recursive estimators for a tracker's appearance embedding, all\nbehind the same State interface. This notebook puts them\nside-by-side on compute (FLOPs + wall-clock, and how they scale\nwith the embedding dimension D), accuracy (on two\ncomplementary tasks), and effort (tuning \u002F training), and ends\nwith a fail\u002Fsuccess cheat-sheet.","md",{"notebook":542},{"icon":63},{"title":81,"description":10160},"UIfxlGEfQEQ4NmXdIXfSU1TS94kx5XzEftlxWX8PlcE",{},1785139890428]