激活函数的作用

Function of Activation functions

是否可以定义一个激活函数的函数?我试过:

def activation():
    # return nn.Sin()
    # return nn.Tanh()
    # return nn.Sigmoid()
    # return nn.Tanhshrink()
    return nn.HardTanh(-1,1)
    # return nn.Hardswish()
    # return nn.functionnal.silu()

但是我在尝试调用它时遇到错误。这是一个例子:

def f():
  return nn.Tanh()
input = torch.randn(2)
output = f(input)
print(output)

它输出“TypeError:f() 采用 0 个位置参数,但给出了 1 个”。即使我给它一个参数 x 也不起作用。

确实,您没有为函数提供参数。这是你想要做的吗?

def f(x):
  return nn.Tanh(x)

您可以使用 object-oriented 方法:

>>> f = nn.Tanh()
>>> output = f(x)

或者函数式方法,您可以在其中找到 nn.Tanh inside nn.functional as tanh 的等价物。

>>> f = nn.functional.tanh
>>> output = f(x)