Main Content

relu

应用修正线性单元激活

自 R2019b 起

说明

修正线性单元 (ReLU) 激活运算执行非线性阈值运算,其中任何小于零的输入值都设置为零。

此运算等效于:

ReLU(x)={x,x>00,x0

注意

此函数将 ReLU 运算应用于 dlarray 数据。如果要在 dlnetwork 对象中应用 ReLU 激活,请使用 reluLayer

示例

Y = relu(X) 通过应用阈值运算来计算输入 X 的 ReLU 激活。X 中所有小于零的值都设置为零。

示例

全部折叠

创建一个格式化的 dlarray 对象,其中包含一批(128 个)具有 3 个通道的 28×28 图像。指定格式 'SSCB'(空间、空间、通道、批量)。

miniBatchSize = 128;
inputSize = [28 28];
numChannels = 3;
X = rand(inputSize(1),inputSize(2),numChannels,miniBatchSize);
X = dlarray(X,"SSCB");

查看输入数据的大小和格式。

size(X)
ans = 1×4

    28    28     3   128

dims(X)
ans = 
'SSCB'

使用 relu 函数应用 ReLU 运算。

Y = relu(X);

查看输出的大小和格式。

size(Y)
ans = 1×4

    28    28     3   128

dims(Y)
ans = 
'SSCB'

输入参数

全部折叠

输入数据,指定为格式化或未格式化的 dlarray 对象。

输出参量

全部折叠

ReLU 激活,以 dlarray 形式返回。输出 Y 与输入 X 具有相同的基础数据类型。

如果输入数据 X 是格式化的 dlarray,则 YX 具有相同的维度格式。如果输入数据不是格式化的 dlarray,则 Y 是未格式化的 dlarray,其维度顺序与输入数据相同。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2019b 中推出