[pytorch] 图像识别之mixup/cutout/Margin loss....简单实现

时间:2025-04-15 07:59:20

本人kaggle分享链接:/c/bengaliai-cv19/discussion/128592

 

Mixup

from  import mixup_data, mixup_criterion

alpha = 0.2
for i, (data, labels) in enumerate(train_data):
    data = (device, non_blocking=True)
    labels = (device, non_blocking=True)

    data, labels_a, labels_b, lam = mixup_data(data, labels, alpha)
    optimizer.zero_grad()
    outputs = model(data)
    loss = mixup_criterion(Loss, outputs, labels_a, labels_b, lam)

    ()
    ()
 

Cutout

from torchvision import transforms
from  import Cutout

_train_transform = ([
    (224),
    Cutout(),
    (),
    (0.4, 0.4, 0.4),
    (),
    normalize,
])

ArcLoss
CosLoss
L2Softmax

from  import ArcLoss, CosLoss, L2Softmax

 

reference:/PistonY/torch-toolbox