implemented resnets and transfer learning

This commit is contained in:
sachdev.kartik
2021-02-25 04:36:37 +01:00
committed by Varuna Jayasiri
parent 4f31570f92
commit 94796efa44
11 changed files with 640 additions and 0 deletions

View File

@ -0,0 +1,16 @@
import torch.nn.functional as F
from torch import nn
class LabelSmoothingLoss(nn.Module):
def __init__(self, epsilon= 0.5, reduction='mean'):
super().__init__()
self.epsilon = epsilon
self.reduction = reduction
def forward(self, pred, target):
n = pred.size()[-1]
log_pred = F.log_softmax(pred, dim=-1)
loss = -log_pred.sum(dim=-1).mean()
nll = F.nll_loss(log_pred, target, reduction=self.reduction)
out = (1-self.epsilon)*nll + self.epsilon*(loss / n)
return out