INNER CODE UNIT · Python
y
digantamisra98/Mish · PyTorch Benchmarks/activations_autofn.py:49
y = x.mul(torch.tanh(F.softplus(x))) # x * tanh(ln(1 + exp(x)))
return y
@staticmethod
def backward(ctx, grad_output):
x = ctx.saved_tensors[0]
x_sigmoid = torch.sigmoid(x)
x_tanh_sp = F.softplus(x).tanh()
return grad_output.mul(x_tanh_sp + x * x_sigmoid * (1 - x_tanh_sp * x_tanh_sp))
def mish_auto(x, inplace=False):
# inplace ignored
return MishAutoFn.apply(x)
class MishAuto(nn.Module):
def __init__(self, inplace: bool = False):