lightly-ai/lightly

Use InterpolationMode.BICUBIC instead of magic interpolation values in transforms

Fermée

#2 009 ouverte le 30 juil. 2026

 (0 commentaire) (0 réaction) (0 personne assignée)Python (337 forks)auto 404
good first issuehelp wantedrefactor

Métriques du dépôt

Stars
 (3 775 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

lightly/transforms/ has two inconsistent ways of specifying bicubic interpolation for RandomResizedCrop:

  • interpolation=3mae_transform.py, ijepa_transform.py, wmse_transform.py, capi_transform.py
  • interpolation=PIL.Image.BICUBIC with a # type: ignore[attr-defined]dino_transform.py, ibot_transform.py

Both should become:

T.RandomResizedCrop(input_size, scale=(min_scale, 1.0), interpolation=T.InterpolationMode.BICUBIC)

T is torchvision_transforms from lightly.transforms.torchvision_v2_compatibility, already imported in every affected file, and T.InterpolationMode.BICUBIC resolves under both the v1 and v2 compatibility paths. No new import needed, and it drops the type: ignore in the DINO/iBOT files.

Files to update:

  • lightly/transforms/mae_transform.py
  • lightly/transforms/ijepa_transform.py
  • lightly/transforms/wmse_transform.py
  • lightly/transforms/capi_transform.py
  • lightly/transforms/dino_transform.py
  • lightly/transforms/ibot_transform.py

Guide contributeur