online augmenteringspipeline
En online augmenteringspipeline er en real-time dataforøgelsesproces, der anvender transformationer direkte på træningsdata under modeltræning i stedet for at forberede augmenterede data på forhånd.
Kort fortalt
Kort fortalt: En online augmenteringspipeline tilføjer variation til træningsdata i farten, mens modellen træner, så den bliver mere robust uden at skulle gemme alle de ekstra data.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En sekvens af dataforøgelsestransformationer, der anvendes dynamisk under træning, typisk integreret i dataindlæsningsprocessen.
- Under træningen brugte vi en online augmenteringspipeline med tilfældig beskæring og farvejustering for at forbedre generaliseringen. — Eksempel fra praksis
- Online augmenteringspipelinen i PyTorch udnytter Composition fra torchvision.transforms til at kæde flere transformationer. — PyTorch dokumentation
Hvornår bruges det
Online augmenteringspipes bruges typisk i deep learning-træning, især inden for computervision og naturlig sprogbehandling. De implementeres ofte ved hjælp af dataloadere (f.eks. PyTorch DataLoader) med transform-kæder, der anvender tilfældige justeringer som rotation, skalering eller tekstomskrivning under minibatch-generering.
Kodeeksempel
import torchvision.transforms as T
from torch.utils.data import DataLoader
transforms = T.Compose([
T.RandomResizedCrop(224),
T.RandomHorizontalFlip(),
T.ColorJitter(brightness=0.2, contrast=0.2),
T.ToTensor(),
T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
dataloader = DataLoader(dataset, batch_size=32, shuffle=True)
for images, labels in dataloader:
images = transforms(images) # augmentation applied onlineEksempel på online augmenteringspipeline i PyTorch: en dataloader henviser til et sæt transformationer, der anvendes på hver batch under træning.
Oprindelse
'Online' fra engelsk angiver at noget sker i realtid, 'augmentering' stammer fra latin 'augmentare' (forøge), og 'pipeline' fra engelsk betegner en kæde af processtrin.