分段激活函数

Piecewise Activation Function

我正在尝试编写一个分段激活函数,其在 -6 和 0 之间的斜率为 0.1,其他地方为 1。 输入(X)大小为(B,C,H,W)。 所以我得出结论,最好的方法是简单的行代码:

 x[-6<x and x<0] = x[-6<x and x<0] * 0.1

但是我遇到了这个错误:

RuntimeError: bool value of Tensor with more than one value is ambiguous

有解决这个错误的方法吗?

您需要的最简单版本是:

import torch

def custom_activ(input):
    return torch.where((input>-6) & (input<0.) , 0.1*input, input)