Spaces:
Paused
Paused
| 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() |