激活¶
对输入张量 A 应用激活函数,并生成具有相同维度的输出张量 B。
另请参阅
PRelu, SoftMax
属性¶
type
激活函数可以是以下之一:
RELU
\(output=max(0, input)\)SIGMOID
\(output=\frac{1}{1+e^{-input}}\)TANH
\(output=\frac{1-e^{-2 \cdot input}}{1+e^{-2 \cdot input}}\)LEAKY_RELU
\(output=input \text{ 如果 } input\geq0 \text{ 否则 } \alpha \cdot input\)ELU
\(output=input \text{ 如果 } input\geq0 \text{ 否则 } \alpha \cdot (e^{input} -1)\)SELU
\(output=\beta \cdot input \text{ 如果 } input\geq0 \text{ 否则 } \beta \cdot (\alpha \cdot e^{input} - \alpha)\)SOFTSIGN
\(output=\frac{input}{1+|input|}\)SOFTPLUS
\(output=\alpha \cdot log(e^{\beta \cdot input} + 1)\)CLIP
\(output=max(\alpha, min(\beta, input))\)HARD_SIGMOID
\(output=max(0, min(1, \alpha \cdot input +\beta))\)SCALED_TANH
\(output=\alpha \cdot tanh(\beta \cdot input)\)THRESHOLDED_RELU
\(output=max(0, input - \alpha)\)
alpha
参数,当激活函数为以下之一时使用:LEAKY_RELU
, ELU
, SELU
, SOFTPLUS
, CLIP
, HARD_SIGMOID
, SCALED_TANH
, THRESHOLDED_RELU
beta
参数,当激活函数为以下之一时使用:SELU
, SOFTPLUS
, CLIP
, HARD_SIGMOID
, SCALED_TANH
输入¶
input: T1
类型的张量
输出¶
output: T1
类型的张量
数据类型¶
T1: int8
, float16
, float32
, bfloat16
注意:
int32
和int64
仅在RELU
中受支持。
形状信息¶
输出具有与输入相同的形状。
DLA 支持¶
支持 DLA FP16 和 DLA INT8。
DLA 支持以下激活类型
CLIP
其中 \(\alpha=0\) 且 \(\beta\leq127\)RELU
SIGMOID
TANH
LEAKY_RELU
示例¶
激活
in1 = network.add_input("input1", dtype=trt.float32, shape=(2, 3))
layer = network.add_activation(in1, type=trt.ActivationType.RELU)
network.mark_output(layer.get_output(0))
inputs[in1.name] = np.array([[-3.0, -2.0, -1.0], [0.0, 1.0, 2.0]])
outputs[layer.get_output(0).name] = layer.get_output(0).shape
expected[layer.get_output(0).name] = np.array([[0.0, 0.0, 0.0], [0.0, 1.0, 2.0]])
C++ API¶
有关 C++ IActivationLayer 算子的更多信息,请参阅 C++ IActivationLayer 文档。
Python API¶
有关 Python IActivationLayer 算子的更多信息,请参阅 Python IActivationLayer 文档。