Spaces:
Paused
Paused
File size: 1,455 Bytes
bd77c31 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import cv2
import numpy as np
from PIL import Image
from torchvision import transforms
# Normalisation
IMAGENET_MEAN = [0.4996, 0.4011, 0.3593]
IMAGENET_STD = [0.3475, 0.3008, 0.2851]
# ── Pipelines ─────────────────────────────────────────────────────────────────
def get_train_transforms() -> transforms.Compose:
"""Pipeline entraînement : augmentation + normalisation."""
return transforms.Compose([
transforms.Resize(640),
transforms.CenterCrop(640),
transforms.RandomHorizontalFlip(p=0.5),
transforms.RandomRotation(15),
transforms.ColorJitter(brightness=0.3, contrast=0.3, saturation=0.2),
transforms.ToTensor(),
transforms.Normalize(IMAGENET_MEAN, IMAGENET_STD),
])
def get_val_transforms() -> transforms.Compose:
"""Pipeline validation/test : normalisation, sans augmentation."""
return transforms.Compose([
transforms.Resize((640,640)),
transforms.ToTensor(),
transforms.Normalize(IMAGENET_MEAN, IMAGENET_STD),
])
def get_inference_transforms() -> transforms.Compose:
"""
Pipeline inférence (identique à val).
Exposé séparément pour être importé proprement dans 04_predict.py et app.py
sans dépendre du reste du module de training.
"""
return get_val_transforms() |