Skip to content

Add DeiT-Tiny VGF Learning Path - #3758

Open
usamahz wants to merge 1 commit into
ArmDeveloperEcosystem:mainfrom
usamahz:codex/deit-tiny-vgf-learning-path
Open

usamahz wants to merge 1 commit into
ArmDeveloperEcosystem:mainfrom
usamahz:codex/deit-tiny-vgf-learning-path

Conversation

@usamahz

@usamahz usamahz commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Add a task-led Learning Path for fine-tuning DeiT-Tiny on Oxford-IIIT Pet, exporting a quantized VGF-backed ExecuTorch program, and classifying real pet images with the existing host runner. The workflow pins public ExecuTorch revision 9dfe4086846ad372b8b78976586ee1857a0c6d13 and does not change the upstream example.

Review the pages in learning order: workflow, environment preparation, training, export, and real-image inference/validation. Then review deit_vgf_helper.py, the downloadable Learning Path helper for checkpoint-format compatibility, input preparation, prediction decoding, and stale-result protection. There are no generated models, logs, or build artifacts in this PR.

Validation

Functional E2E testing passed in a fresh Ubuntu 24.04 aarch64 container with Python 3.12, fresh Python/native builds, and ML SDK 0.10.0. Testing caught and corrected the setup directory name: the pinned ExecuTorch build requires the checkout to be named executorch.

The complete three-epoch training run and evaluation on 3,669 test images passed, reporting 86.81% FP32 accuracy. All 200 tensors in the helper-generated checkpoint exactly match the original trained weights. Export completed with 300 calibration images and 100 quantized PyTorch evaluation images, reporting 90% accuracy on that subset. These different evaluation sets are not a before/after quantization comparison.

The exported program executed through VGF on two real images (Newfoundland and Pug). Both produced 37 finite scores and matched the dataset label and FP32 winning class. Preparing the second image correctly caused inspection of the old output to fail until inference was rerun. Hugo builds with and without draft content passed, as did preview navigation and helper-download checks.

Limitations and review status

Execution used Mesa llvmpipe software Vulkan in Docker on Apple Silicon, not a physical GPU. This does not establish Arm GPU compatibility or performance. The upstream setup leaves a FlatBuffers dependency-version inconsistency and missing optional Model Explorer dependencies; the full documented flow passed without working around them.

Source draft: true and cascading draft metadata are retained under the repository's intake guidance until technical and editorial review is complete. This PR is ready for review, not a request to bypass publication review.

Authored with AI assistance using OpenAI Codex.

Contribution checklist

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution under the terms of the Creative Commons Attribution 4.0 International License.

Authored with OpenAI Codex.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant