INNER CODE UNIT · Python
__init__
digantamisra98/Mish · PyTorch Benchmarks/activations_autofn.py:33
def __init__(self, inplace: bool = False):
super(SwishAuto, self).__init__()
self.inplace = inplace
def forward(self, x):
return SwishAutoFn.apply(x)
class MishAutoFn(torch.autograd.Function):
"""Mish: A Self Regularized Non-Monotonic Neural Activation Function - https://arxiv.org/abs/1908.08681
Experimental memory-efficient variant
"""
@staticmethod
def forward(ctx, x):
ctx.save_for_backward(x)
y = x.mul(torch.tanh(F.softplus(x))) # x * tanh(ln(1 + exp(x)))
return y