lightly-ai/lightly-train - Open Source PR Review Scorecard

All-in-one training for vision models (YOLO, ViTs, RT-DETR, DINOv3): pretraining, fine-tuning, distillation.

C-Rank Grade: D (Risky) - 24/100

External PR Merge Rate: -

Response Time: <1h

First Timer Success: -

Frequently Asked Questions

Is lightly-ai/lightly-train welcoming to first-time open-source contributors?

lightly-ai/lightly-train has a recorded first-timer success rate of 0.0%. Repositories ranked D typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in lightly-ai/lightly-train respond to incoming external pull requests in approximately 0.0 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 23.7 C-Rank™ score (D Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 23.7 places lightly-ai/lightly-train in the D tier.

What is the external contributor pull request merge rate for lightly-ai/lightly-train?

The external contributor pull request merge rate for lightly-ai/lightly-train is 0.0%, based on public PR activity from non-core contributors.

Are there Good First Issues available in lightly-ai/lightly-train?

lightly-ai/lightly-train currently has 5 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

lightly-ai
lightly-ai/lightly-trainD•Risky1.7k
GitHub
Back to Explorer
lightly-ai

lightly-ai/lightly-train

1,703
InactiveD•Risky(24/100)Low Sample (<20 PRs)Python

All-in-one training for vision models (YOLO, ViTs, RT-DETR, DINOv3): pretraining, fine-tuning, distillation.

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Empathetic Community Mentor

Warmth Score
9.8/10
Patience Score
9.6/10
Nitpick Rate
10%

Highly encouraging & supportive maintainers (100% positive review sentiment). Active code reviews with constructive guidance for new contributors in lightly-ai/lightly-train.

Top PR Submission Do's

  • •Add unit tests with >80% coverage for modified code paths
  • •Run repository linter and code formatters locally before pushing
  • •Link relevant GitHub issue ID in PR description pre-flight checklist

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit unlinked PRs without referencing an existing issue
  • •Do not mix refactoring and feature logic into a single commit
  • •Do not ping maintainers repeatedly within 24 hours of opening
Response Velocity
<1 hour
⚡ Fast reviewer response

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
0.0%
Selective PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
0.0%
No first-timer merges recorded in window

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
1 core
Single maintainer review bottleneck
Diagnostic Health HUD
0.0%
Merge Gauge
0.0%
1st-Timer
Community Vibe30/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for lightly-ai/lightly-train
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/lightly-ai/lightly-train)](https://getmerged.abhishekco.de/lightly-ai/lightly-train?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

🧠 Describe the Bug Fine-tuning object detection from a COCO-pretrained checkpoint onto a different number of classes does not re-initialize the classification head. It silently keeps the checkpoint's leading rows. _reuse_or_reinit in src/lightly_train/_task_models/object_detection_components/hooks.py:168 truncates when the checkpoint has more classes: if num_classes_checkpoint > num_classes_module: # Checkpoint has more classes: truncate to module's expected size. adjusted_weights = checkpoint_weight[:num_classes_module, :].to(device) So fine-tuning COCO (80 classes) onto 3 classes starts from the COCO rows for person, bicycle and car. Training still converges, but from an arbitrary bias that depends on COCO's class ordering. This contradicts: The train_object_detection docstring: "Otherwise, the classification head will be re-initialized." The module docstring, which claims the hooks work by "truncating or zero-/re-initializing". src/lightly_train/_task_models/eomt/hooks.p

📅 Opened Sep 21, 2026💬 1 comment
Quality: 50/100Contribute

Sub-issue of #965. Description Image classification has no way to deal with imbalanced datasets. The only loss setting today is label_smoothing, and both losses are built without any class weighting: image_classification/train_model.py image_classification_multihead/train_model.py Both tasks should be covered. Expected behavior Add a class_weights argument next to the existing label_smoothing, following the general design in #965: class_weights: Literal["auto"] | dict[str, float] | None = None Used like this: lightly_train.train_image_classification( out="out/my_experiment", model="dinov3/vitt16", data={...}, model_args={"class_weights": "auto"}, # or: model_args={"class_weights": {"cat": 1.0, "dog": 3.5}}, ) "auto" needs a different formula per classification task, because the two tasks use different losses: multiclass -> CrossEntropyLoss(weight=...), using inverse class frequency scaled so the mean weight is 1.0. This balances the classes against each other. mu

📅 Opened Sep 3, 2026💬 1 comment
Quality: 50/100Contribute

The ratio argument for the random resized crop is not exposed, i.e. can't be wired through which should be fixed for the pretraining pipeline.

📅 Opened Aug 27, 2026💬 1 comment
Quality: 45/100Contribute

Problem EoMT models run out of GPU memory in the validation step. Training with the same batch size works. Issue #936 reports this. A user trains dinov3/vitt16plus-eomt-inst-coco with batch_size=1 on a 12 GB card. Training uses about 2.5 GB. Validation stops with torch.OutOfMemoryError: Tried to allocate 3.15 GiB. We want to lower the memory use. The metric values must stay the same. Cause The validation step resizes the predicted masks to the original image size. This follows the EoMT evaluation protocol. The step resizes all queries together. Here are the numbers from #936. The model has 200 queries. The original image is 2943x1435 pixels. One float32 tensor of shape (1, 200, 1435, 2943) needs 3.15 GiB. This is the exact number in the error message. get_labels_masks_scores then makes four more tensors of the same shape: masks, masks_fp32, the output of sigmoid(), and their product. The peak is near 13 GiB. Training does not have this problem. Training resizes the masks to the model i

📅 Opened Aug 12, 2026💬 3 comments
Quality: 40/100Contribute

Description Dense prediction tasks such as semantic segmentation and object detection need normalized intermediate feature maps from multiple backbone layers or stages. Multi-scale features can also be useful during pretraining and distillation, for example to define objectives or transfer representations at more than one level of the network, e.g. wanted in #628 . LightlyTrain already defines a public interface for this: ForwardMultiScaleFeatures, MultiScaleFeatureDims, and MultiScaleFeatureStrides MultiScaleFeatureViT and MultiScaleFeatureCNN MultiScaleFeaturePackage DINOv2 and DINOv3 provide reference implementations: DINOv2 ViT wrapper DINOv3 ViT wrapper DINOv3 ConvNeXt wrapper We would like to extend this interface to the remaining model packages, starting with TIMM. The current TIMMModelWrapper already uses TIMM's forward_intermediates where available, which should provide a useful starting point. EdgeCrafter is partially supported: ECViTModelWrapper.forward() already returns

📅 Opened Aug 3, 2026💬 7 comments
Quality: 40/100Contribute
Looking for more Python beginner tasks?Explore Python GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for lightly-ai/lightly-train

When evaluating whether to contribute to lightly-ai/lightly-train, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of lightly-ai/lightly-train acknowledge new external contributions in approximately <1 hour. Out of all submitted pull requests from non-core authors in the last 180-day window, 0.0% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to lightly-ai/lightly-train

01

Is lightly-ai/lightly-train welcoming to first-time open-source contributors?

lightly-ai/lightly-train has a recorded first-timer success rate of 0.0%. Repositories ranked Risky typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~<1 hour. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 23.7 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 23.7 places lightly-ai/lightly-train in the Risky tier.

04

What is the external contributor pull request merge rate for lightly-ai/lightly-train?

The external pull request merge rate is 0.0%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in lightly-ai/lightly-train?

Yes, lightly-ai/lightly-train currently has 5 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for lightly-ai/lightly-train are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.