在PyTorch中使用PReLU()和ELU()

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

PReLU()函数可以从1D或更高维的张量中计算出的零个或多个值中获取1D或更高维的张量。ELU()函数可以从0D或更高维的张量中计算出的零个或多个值中获取0D或更高维的张量。

🔎

延伸解读

PReLU 的 num_parameters 与权重形状

PReLU 的 num_parameters 决定可学习参数的数量,默认为 1。当输入为 2D 张量且 num_parameters=4 时,权重形状为 [4],每个参数对应一个通道;若 num_parameters=2,则权重形状为 [2]。这影响参数共享方式,需根据输入维度合理设置。

ELU 的 alpha 与 inplace 参数

ELU 的 alpha 默认为 1.0,作用于负输入值,控制负半轴的饱和值。inplace 默认为 False,文章建议保持 False,因为设为 True 可能引发问题。使用时需注意这两个参数对输出和内存的影响。

PReLU 与 ELU 的输入维度差异

PReLU 要求输入至少为 1D 张量,而 ELU 可接受 0D 或更高维张量。这意味着 ELU 能处理标量输入,而 PReLU 不能。选择激活函数时需根据输入数据的维度决定。

❓

Q&A

PReLU()函数的主要作用是什么?

PReLU()函数用于从1D或更高维的张量中计算出零个或多个值。

PReLU()函数的初始化参数有哪些?

PReLU()的初始化参数包括num_parameters、init、device和dtype。

ELU()函数的默认参数是什么?

ELU()函数的默认参数是alpha为1.0,inplace为False。

如何在PyTorch中使用PReLU()?

可以通过创建PReLU对象并传入输入张量来使用PReLU(),例如:prelu(input=my_tensor)。

PReLU()和ELU()的主要区别是什么?

PReLU()用于1D或更高维张量,而ELU()用于0D或更高维张量。

PReLU()的num_parameters参数有什么意义?

num_parameters参数表示可学习参数的数量,默认为1。

🏷️

标签

➡️

继续阅读