lightly-ai/lightly

Use InterpolationMode.BICUBIC instead of magic interpolation values in transforms

Chiusa

#2009 aperta il 30 lug 2026

 (0 commenti) (0 reazioni) (0 assegnatari)Python (337 fork)auto 404
good first issuehelp wantedrefactor

Metriche repository

Star
 (3775 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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

Guida contributor