# PReLU#

PReLU operation performs element-wise parametric ReLU operation on a given input tensor, based on the following mathematical formula:

$\begin{split}\dst = \begin{cases} \src & \text{if}\ \src \ge 0 \\ \alpha \src & \text{if}\ \src < 0 \end{cases}\end{split}$

## Operation Attributes#

Attribute

Name

Description

Value Type

Supported

Values

Required or

Optional

data_format

Denotes the data format of the input and output data.

string

NCX, NXC (default)

Optional

per_channel_broadcast

Denotes whether to apply per_channel broadcast when slope is 1D tensor.

bool

false, true (default)

Optional

Only slope tensor supports broadcasting semantics. Slope tensor is uni-directionally broadcasted to src if one of the following rules is met:

• 1: slope is 1D tensor and per_channel_broadcast is set to true, the length of slope tensor is equal to the length of src of channel dimension.

• 2: slope is 1D tensor and per_channel_broadcast is set to false, the length of slope tensor is equal to the length of src of the rightmost dimension.

• 3: slope is nD tensor, starting from the rightmost dimension, $$input.shape_i == slope.shape_i$$ or $$slope.shape_i == 1$$ or slope dimension i is empty.

## Execution Arguments#

The inputs and outputs must be provided according to the below index order when constructing an operation.

### Inputs#

Index

Argument Name

Required or Optional

0

src

Required

1

slope

Required

### Outputs#

Index

Argument Name

Required or Optional

0

dst

Required

## Supported Data Types#

PReLU operation supports the following data type combinations.

Src

Dst

Slope

f32

f32

f32

bf16

bf16

bf16

f16

f16

f16