Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature-request] Distillation of Ultralytics #20

Open
Akash-guna opened this issue Sep 9, 2024 · 0 comments
Open

[feature-request] Distillation of Ultralytics #20

Akash-guna opened this issue Sep 9, 2024 · 0 comments

Comments

@Akash-guna
Copy link
Contributor

Akash-guna commented Sep 9, 2024

Feature type?
Algorithm request

A proposal draft
The proposal is to create a custom trainer extending from Ultralytics BaseTrainer within Nyuntam that can distill different models from the Ultralytics library, including YOLOv5, YOLOv8, and other variants. Model distillation is an important technique to compress larger models (teachers) into smaller, more efficient models (students), while retaining high performance. This can be especially useful when deploying models in resource-constrained environments like edge devices or mobile applications.

The trainer should:

  • Support both teacher-student architectures for distillation.
  • Allow flexibility in defining the distillation loss function (e.g., KL divergence, MSE).
  • Be compatible with existing Ultralytics models, making it easy to swap in any YOLO model for distillation.
    Additional context
    YoloV8 might have differing feature channels between various variants, I suggest looking at MMYOLO RTMDet Distillation , where they have combined CWD and PKD to account for varying dimensionality. You can also read their papers: PKD and CWD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant