Add Multitask Learning and Self Supervised Learning - #62
Open
aymuos15 wants to merge 4 commits into
Open
Conversation
…d precommits - Add self-supervised learning (SSL) support using Lightly library - Add fallback to task-specific weights when SSL weights unavailable - Prevent YOLO weights from downloading to repository root - Add pre-commit configuration and linting setup - Add initial tests for SSL task heads - Update documentation and benchmarks
…dataset tracking Remove the deprecated standard federated training section from the Quick Start guide, replacing it with the new two-phase SSL workflow (pretraining + fine-tuning). Also remove dataset directory ignore rules to enable version control of datasets.
Collaborator
Author
|
I think this shold be closed with this too. |
There was a problem hiding this comment.
Pull request overview
This PR introduces multitask learning capabilities and self-supervised learning (SSL) pretraining to UltraFlwr, transforming it from a federated object detection framework into a comprehensive federated multi-task learning platform.
Changes:
- Added integrated federated self-supervised learning (SSL) using the Lightly library for label-free pretraining
- Restructured codebase with modern tooling (uv, ruff, pyright) and pre-commit hooks
- Removed old training/testing scripts and configuration files in favor of a new architecture
Reviewed changes
Copilot reviewed 131 out of 1006 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updated documentation to introduce SSL workflow, multitask learning features, and new usage patterns |
| .pre-commit-config.yaml | Added pre-commit configuration for code quality enforcement |
| datasets/baseline/test/labels/*.txt | Removed old test label files |
| datasets/baseline/partitions/client_/labels/.txt | Removed old partition label files and added new formatted labels |
| datasets/baseline/README.*.txt | Removed dataset documentation files |
| FedYOLO/yolo_configs/yolo11n_anki.yaml | Removed old YOLO configuration file |
| FedYOLO/train/*.py | Removed legacy training scripts (server, client, strategies, utils) |
| FedYOLO/test/*.py | Removed legacy testing scripts |
| FedYOLO/data_partitioner/fed_split.py | Removed old data partitioning script |
| FedYOLO/config.py | Removed centralized configuration file |
| Dockerfile | Removed Docker configuration |
| benchmarks/endoscapes.md | Removed trailing whitespace |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
No description provided.