Repository navigation
docs: state SMP DPT ViT-B16 conversion scope - #41
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tensor-ee converts SMP DPT models with a timm ViT-B/16 encoder at 224 × 224.
Document the supported recognizers and distinguish graph identity, offline mirror agreement, live agreement and model accuracy. Full width remains offline only and misses the unchanged 1e-4 absolute target against both float32 and float64 PyTorch, with zero argmax flips. Live composition agreement covers only the reduced encoder twin with rank-at-most-4 projection weights and the structured reduced DPT twin (7 requests, sampled head/logit readouts), plus individual blocks' recorded settings. Random weights establish no model accuracy. The full-width staged live run remains a follow-up.
Base revision: bb76ab9.
Current head: e69b635.
Merged origin/main at 16d1dbe (test-only UPerNet rounding-probe fix) without rebasing.
Changes by layer
tests/test_dpt_registry.pypins main a988d79's 19 operation keys to named library functions and METADATA references, independently of the module's import-time snapshot. Its name/docstring state that it proves function/metadata identity and key order, not adapter preservation.tools/block_catalogue.py; already current, so no diff.Review follow-up and current-head validation
Review fix round 1 reconciles the model-evidence page with the passing reduced encoder rerun while preserving the failed attempt as history. Both target introductions now point to the converter graph-identity gates and the DPT recognizer. The API explicitly attributes the full-width numerical target failure to the offline NumPy mirror and notes that float32 PyTorch differs from float64 by more. No evidence records, code or tests changed in that fix.
On clean merged head e69b635:
python tools/block_catalogue.py --check: in sync.python -m pytest -q tests/test_docs.py tests/test_history_citations.py tests/test_x08_docs_and_api.py: 25 passed (138.62s).On the clean doc-fix commit 18789e6 before merging main: G1 again matched 36 fixture graphs, with 9 trained not compared; G1-ext again matched 19/19; catalogue, reduced DPT offline check and 7-request plan passed; docs tests 25 passed and blocked-package tests 20 passed, 5 skipped.
Initial-head validation (7111496)
All Python checks used two threads and
PYTHONPATH=..python tools/graph_identity.py --check docs/evidence/l00-golden-graphs.json: 36 fixture graphs equal; 9 trained graphs not compared (no--resources). Passed before and after the change.python tools/graph_identity.py --check-ext docs/evidence/x00-g1ext-golden-graphs.json: 19/19 equal. Passed before and after the change. Asset-backed SegFormer raw-input environment differences were reported; serialized graphs and weight-shard plans matched.python tools/block_catalogue.py --check: in sync.python tools/live_fixtures.py --offline vit_dpt_reduced --output <temporary-output>: passed, zero cloud calls. Largest absolute mirror/PyTorch error 1.862645149230957e-9 (fusion3); head and logits each 9.313225746154785e-10.python tools/live_fixtures.py --plan vit_dpt_reduced: within budget, 7 requests, 0 assets/tasks; largest request 1,944,662 bytes and 31,360 values.python -m pytest -q tests/test_docs.py tests/test_history_citations.py tests/test_x08_docs_and_api.py tests/test_dpt_registry.py: 33 passed.Initial-head CI run 41617152020 passed all three jobs: core Python 3.11 and 3.12 each reported 2879 passed, 552 skipped; optional-models reported 3666 passed, 27 skipped, 1 xfailed. Each job also reported 190 subtests passed. Updated-head CI run 41621088407 passed all three jobs on e69b635 (core Python 3.11, core Python 3.12 and optional-models). No live run, exports or downloads were performed.
Limits and follow-up
Full-width DPT mirror/float32 errors: fusion3 6.03e-4, logits 3.51e-4. Mirror/float64 errors: fusion3 1.18e-4, logits 1.50e-4. Activations approach 190 (float32 spacing about 1.5e-5); float32 PyTorch itself differs from float64 by more. These observations do not relax the absolute target. Full-width live validation requires the staged runner and separate approval.
ViT-S, ViT-L, DeiT-III, DINOv2 and patch 8 remain later work. Fused attention, register tokens and other readouts are outside this claim. No model accuracy is claimed.