lightly-ai / lightly-ai/lightly
EPIC: Refactor pip package
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.8k
- Forks
- 367
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 5
Description
Current state:
Currently, we offer 3 levels of SSL parts:
- low-level: the separate building blocks such as a projection head, nn memory bank, backbone creation
https://github.com/lightly-ai/lightly/blob/8dde4d68c0598758bfd05c05f225bf754d9f1ed5/lightly/models/modules/heads.py#L12 - mid-level: the model (backbone + heads + forward functions)
https://github.com/lightly-ai/lightly/blob/8dde4d68c0598758bfd05c05f225bf754d9f1ed5/lightly/models/moco.py#L13 - high-level: the model, criterion, training loop put together as pytorch lightning module
https://github.com/lightly-ai/lightly/blob/8dde4d68c0598758bfd05c05f225bf754d9f1ed5/docs/source/getting_started/benchmarks/cifar10_benchmark.py#L144
Target state:
We remove the mid-level representations (delete that code). We provide more examples on the high-level: One example pytorch lightning module for every implemented paper
Steps towards it
Always merge into the development branch: https://github.com/lightly-ai/lightly/tree/master-refactor-SSL-models
First step:
- #494
- https://github.com/lightly-ai/lightly/issues/492
- #498
- https://github.com/lightly-ai/lightly/issues/505
- #508
- #512
Second step:
- #515
- Remove mid- to high-level code from CLI
- https://github.com/lightly-ai/lightly/issues/380
Third step:
- delete mid-level models in lightly/lightly/models
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the mid-level model implementations under lightly/lightly/models and compare them with the low-level modules and high-level benchmark example linked in the issue. Map the remaining mid-level models and CLI references, then verify that each implemented paper has a corresponding high-level PyTorch Lightning example and that the mid-level model code is removed without breaking tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- machine-learning
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100