paddle.nn¶
paddle.nn 目录下包含飞桨框架支持的神经网络层和相关函数的相关 API。具体如下:
容器相关¶
API 名称 |
API 功能 |
---|---|
|
基于 OOD 实现的动态图 Layer |
|
用于保存子层列表 |
|
参数列表容器 |
|
顺序容器;子 Layer 将按构造函数参数的顺序添加到此容器中 |
|
保存子层到有序字典中,它包含的子层将被正确地注册和添加 |
卷积层¶
API 名称 |
API 功能 |
---|---|
|
一维卷积层 |
|
一维转置卷积层 |
|
二维卷积层 |
|
二维转置卷积层 |
|
三维卷积层 |
|
三维转置卷积层 |
pooling 层¶
API 名称 |
API 功能 |
---|---|
|
一维自适应平均池化层 |
|
二维自适应平均池化层 |
|
三维自适应平均池化层 |
|
一维自适应最大池化层 |
|
二维自适应最大池化层 |
|
三维自适应最大池化层 |
|
一维平均池化层 |
|
二维平均池化层 |
|
三维平均池化层 |
|
一维最大池化层 |
|
二维最大池化层 |
|
三维最大池化层 |
|
一维最大反池化层 |
|
二维最大反池化层 |
|
三维最大反池化层 |
|
二维分数阶最大值池化层 |
|
三维分数阶最大值池化层 |
Padding 层¶
API 名称 |
API 功能 |
---|---|
|
一维填充层 |
|
二维填充层 |
|
三维填充层 |
|
一维零填充层 |
|
二维零填充层 |
|
三维零填充层 |
激活层¶
API 名称 |
API 功能 |
---|---|
|
CELU 激活层 |
|
ELU 激活层 |
|
GELU 激活层 |
|
GLU 激活层 |
|
Hardshrink 激活层 |
|
Hardsigmoid 激活层 |
|
Hardswish 激活层 |
|
Hardtanh 激活层 |
|
LeakyReLU 激活层 |
|
LogSigmoid 激活层 |
|
LogSoftmax 激活层 |
|
Maxout 激活层 |
|
PReLU 激活层 |
|
RReLU 激活层 |
|
ReLU 激活层 |
|
ReLU6 激活层 |
|
SELU 激活层 |
|
Sigmoid 激活层 |
|
Silu 激活层 |
|
Softmax 激活层 |
|
Softmax2D 激活层 |
|
Softplus 激活层 |
|
Softshrink 激活层 |
|
Softsign 激活层 |
|
Swish 激活层 |
|
Mish 激活层 |
|
Tanh 激活层 |
|
Tanhshrink 激活层 |
|
Thresholded ReLU 激活层 |
Normalization 层¶
API 名称 |
API 功能 |
---|---|
|
Batch Normalization 层 |
|
一维 Batch Normalization 层 |
|
二维 Batch Normalization 层 |
|
三维 Batch Normalization 层 |
|
Group Normalization 层 |
|
一维 Instance Normalization 层 |
|
二维 Instance Normalization 层 |
|
三维 Instance Normalization 层 |
|
用于保存 Normalization 层列表 |
|
Local Response Normalization 层 |
|
Spectral Normalization 层 |
|
Synchronized Batch Normalization 层 |
循环神经网络层¶
API 名称 |
API 功能 |
---|---|
|
双向循环神经网络 |
|
门控循环单元网络 |
|
门控循环单元 |
|
长短期记忆网络 |
|
长短期记忆网络单元 |
|
循环神经网络 |
|
循环神经网络单元基类 |
|
简单循环神经网络 |
|
简单循环神经网络单元 |
Transformer 相关¶
API 名称 |
API 功能 |
---|---|
|
多头注意力机制 |
|
点乘注意力机制,并在此基础上加入了对注意力权重的缩放 |
|
Transformer 模型 |
|
Transformer 解码器 |
|
Transformer 解码器层 |
|
Transformer 编码器 |
|
Transformer 编码器层 |
线性层¶
API 名称 |
API 功能 |
---|---|
|
对两个输入执行双线性 Tensor 积 |
|
线性变换层 |
Dropout 层¶
API 名称 |
API 功能 |
---|---|
|
具有自归一化性质的 dropout |
|
Dropout |
|
一维 Dropout |
|
二维 Dropout |
Embedding 层¶
API 名称 |
API 功能 |
---|---|
|
嵌入层(Embedding Layer) |
Loss 层¶
API 名称 |
API 功能 |
---|---|
|
BCELoss 层 |
|
BCEWithLogitsLoss 层 |
|
CosineEmbeddingLoss 层 |
|
交叉熵损失层 |
|
CTCLoss 层 |
|
层次 sigmoid 损失层 |
|
Kullback-Leibler 散度损失层 |
|
L1 损失层 |
|
MarginRankingLoss 层 |
|
均方差误差损失层 |
|
NLLLoss 层 |
|
GaussianNLLLoss 层 |
|
PoissonNLLLoss 层 |
|
平滑 L1 损失层 |
|
SoftMarginLoss 层 |
|
TripletMarginLoss 层 |
|
TripletMarginWithDistanceLoss 层 |
|
多标签 Hinge 损失层 |
|
MultiMarginLoss 层 |
|
自适应 logsoftmax 损失类 |
Vision 层¶
API 名称 |
API 功能 |
---|---|
|
将一个形为[N, C, H, W]或是[N, H, W, C]的 Tensor 按通道分成 g 组,得到形为[N, g, C/g, H, W]或[N, H, W, g, C/g]的 Tensor,然后转置为[N, C/g, g, H, W]或[N, H, W, C/g, g]的形状,最后重新排列为原来的形状 |
|
将一个形为[N, C, H, W]或是[N, H, W, C]的 Tensor 重新排列成形为 [N, C/r**2, H*r, W*r]或 [N, H*r, W*r, C/r**2] 的 Tensor |
|
PixelShuffle 的逆操作,将一个形为[N, C, H, W]或是[N, H, W, C]的 Tensor 重新排列成形为 [N, C*r*r, H/r, W/r] 或 [N, H/r, W/r, C*r*r] 的 Tensor |
|
用于调整一个 batch 中图片的大小 |
|
用于调整一个 batch 中图片的大小(使用双线性插值方法) |
|
用于调整一个 batch 中图片的大小(使用最近邻插值方法) |
Clip 相关¶
API 名称 |
API 功能 |
---|---|
|
将一个 Tensor 列表 t_list 中所有 Tensor 的 L2 范数之和,限定在 clip_norm 范围内 |
|
将输入的多维 Tensor X 的 L2 范数限制在 clip_norm 范围之内 |
|
将输入的多维 Tensor X 的值限制在 [min, max] 范围 |
公共层¶
API 名称 |
API 功能 |
---|---|
|
带 beam search 解码策略的解码器 |
|
余弦相似度计算 |
|
循环解码 |
|
将一个连续维度的 Tensor 展平成一维 Tensor |
|
计算两组向量两两之间的距离 |
|
建立等效层,作为输入的 Placeholder |
|
实现的功能与卷积中用到的 im2col 函数一样,通常也被称作为 im2col 过程 |
|
该 Op 用于将一个滑动局部块组合成一个大的 Tensor,通常也被称为 col2im 过程 |
|
将输入 Tensor 沿指定轴 axis 上的维度展成 shape 形状 |
卷积相关函数¶
API 名称 |
API 功能 |
---|---|
|
一维卷积函数 |
|
一维转置卷积函数 |
|
二维卷积函数 |
|
二维转置卷积函数 |
|
三维卷积函数 |
|
三维转置卷积函数 |
Pooling 相关函数¶
API 名称 |
API 功能 |
---|---|
|
一维自适应平均池化 |
|
二维自适应平均池化 |
|
三维自适应平均池化 |
|
一维自适应最大池化 |
|
二维自适应最大池化 |
|
三维自适应最大池化 |
|
一维平均池化 |
|
二维平均池化 |
|
三维平均池化 |
|
一维最大池化 |
|
二维最大池化 |
|
三维最大池化 |
|
一维最大反池化层 |
|
二维最大反池化层 |
|
三维最大反池化层 |
|
二维分数阶最大值池化 |
|
三维分数阶最大值池化 |
Padding 相关函数¶
API 名称 |
API 功能 |
---|---|
|
依照 pad 和 mode 属性对 input 进行填充 |
|
依照 pad 对 x 进行零填充 |
激活函数¶
API 名称 |
API 功能 |
---|---|
|
celu 激活函数 |
|
elu 激活函数 |
|
Inplace 版本的 elu API,对输入 x 采用 Inplace 策略 |
|
gelu 激活函数 |
|
gumbel_softmax 采样激活函数 |
|
hardshrink 激活函数 |
|
sigmoid 的分段线性逼近激活函数 |
|
hardswish 激活函数 |
|
hardtanh 激活函数 |
|
Inplace 版本的 hardtanh API,对输入 x 采用 Inplace 策略 |
|
leaky_relu 激活函数 |
|
Inplace 版本的 leaky_relu API,对输入 x 采用 Inplace 策略 |
|
log_sigmoid 激活函数 |
|
log_softmax 激活函数 |
|
maxout 激活函数 |
|
prelu 激活函数 |
|
rrelu 激活函数 |
|
relu 激活函数 |
|
Inplace 版本的 relu API,对输入 x 采用 Inplace 策略 |
|
relu6 激活函数 |
|
selu 激活函数 |
|
sigmoid 激活函数 |
|
silu 激活函数 |
|
softmax 激活函数 |
|
Inplace 版本的 softmax API,对输入 x 采用 Inplace 策略 |
|
softplus 激活函数 |
|
softshrink 激活函数 |
|
softsign 激活函数 |
|
swish 激活函数 |
|
mish 激活函数 |
|
tanhshrink 激活函数 |
|
thresholded_relu 激活函数 |
|
Inplace 版本的 thresholded_relu API,对输入 x 采用 Inplace 策略 |
Normalization 方法¶
API 名称 |
API 功能 |
---|---|
|
Local Response Normalization 函数 |
|
归一化方法 |
|
移除传入 layer 中的权重归一化 |
|
对传入的 layer 中的权重参数进行归一化 |
|
对传入的 layer 中的权重参数进行谱归一化 |
|
Group Normalization 函数 |
线性处理相关函数¶
API 名称 |
API 功能 |
---|---|
|
对两个输入执行双线性 Tensor 积 |
|
线性变换 |
Dropout 方法¶
API 名称 |
API 功能 |
---|---|
|
一种具有自归一化性质的 dropout |
|
Dropout |
|
一维 Dropout |
|
二维 Dropout |
Embedding 相关函数¶
API 名称 |
API 功能 |
---|---|
|
对角线 Embedding 方法,paddle.nn.functional.diag_embed 已废弃,请使用 paddle.diag_embed |
|
Embedding 方法 |
损失函数¶
API 名称 |
API 功能 |
---|---|
|
二值交叉熵损失值 |
|
logits 二值交叉熵损失值 |
|
用于计算余弦相似度损失 |
|
用于计算 ctc 损失 |
|
用于比较预测结果跟标签之间的相似度 |
|
层次 sigmoid 损失函数 |
|
用于计算 L1 损失 |
|
用于计算泊松分布的负对数似然损失 |
|
用于计算 KL 散度损失 |
|
用于计算负对数损失 |
|
用于计算 margin rank loss 损失 |
|
用于计算均方差误差 |
|
用于计算 nll 损失 |
|
用于计算 gaussiannll 损失 |
|
成对数据损失计算 |
|
用于计算分类任务中前景类-背景类数量不均衡问题的损失 |
|
用于计算平滑 L1 损失 |
|
将 softmax 操作、交叉熵损失函数的计算过程进行合并 |
|
支持 |
|
用于计算 soft margin loss 损失函数 |
|
用于计算 TripletMarginLoss |
|
用户自定义距离函数用于计算 triplet margin loss 损失 |
|
用于计算多分类的 hinge loss 损失函数 |
|
用于计算 multi margin loss 损失函数 |
|
自适应 logsoftmax 损失函数 |
公用方法¶
API 名称 |
API 功能 |
---|---|
|
用于生成仿射变换前后的 feature maps 的坐标映射关系 |
|
用于计算 x1 与 x2 沿 axis 维度的余弦相似度 |
|
计算输入 input 和标签 label 间的交叉熵 |
|
用于调整一个 batch 中图片的大小 |
|
标签平滑 |
|
将输入'x'中的每个 id 转换为一个 one-hot 向量 |
|
将 Tensor 重新排列 |
|
将 Tensor 重新排列,是 pixel_shuffle 的逆操作 |
|
用于计算预测值和目标值的方差估计 |
|
对每一个卷积核覆盖下的区域,将元素重新排成一列 |
|
用于将一个滑动局部块组合成一个大的 Tensor,通常也被称为 col2im。 |
|
整个束搜索结束后使用,获得每个时间步选择的的候选词 id 及其对应的在搜索树中的 parent 节点 |
|
门控线性单元 |
|
计算两组向量两两之间的距离 |
|
用于调整一个 batch 中图片的大小 |
|
根据输入 x 和 maxlen 输出一个掩码,数据类型为 dtype |
|
用于对输入 X 做时序通道 T 上的位移操作,为 TSM 中使用的操作 |
|
用于调整一个 batch 中图片的大小 |
|
用于 PartialFC 类别中心采样 |
初始化相关¶
API 名称 |
API 功能 |
---|---|
|
使用 Numpy 数组、Python 列表、Tensor 来初始化参数 |
|
该接口为参数初始化函数,用于转置卷积函数中 |
|
用于权重初始化,通过输入的 value 值初始化输入变量 |
|
实现 Kaiming 正态分布方式的权重初始化 |
|
实现 Kaiming 均匀分布方式的权重初始化 |
|
随机正态(高斯)分布初始化函数 |
|
用于设置 Paddle 框架中全局的参数初始化方法 |
|
获取某些激活函数的推荐增益值(增益值可用于对某些初始化 API 进行设置,以调整初始化值) |
|
通过狄拉克 delta 函数来初始化 3D/4D/5D Tensor,一般用于卷积层,能最大程度保留卷积层输入的特性 |
|
正交矩阵初始化方式,被初始化的参数为(半)正交的 |
|
随机截断正态(高斯)分布初始化函数 |
|
随机均匀分布初始化函数 |
|
实现 Xavier 权重初始化方法( Xavier weight initializer) |
|
实现 Xavier 权重初始化方法( Xavier weight initializer) |
量化压缩¶
API 名称 |
API 功能 |
---|---|
|
使用 int8 量化压缩的线性层 |
|
使用自定义的类型进行模型的量化压缩 |
|
weight_only 和 llm.int8 权重的量化函数 |
工具相关¶
API 名称 |
API 功能 |
---|---|
|
对一组张量的梯度按范数进行裁剪 |
|
对一组张量的梯度按值范围进行裁剪 |
|
将参数列表转换成一个一维 Tensor |
|
移除传入 layer 中的权重归一化 |
|
对传入 layer 中的权重谱归一化 |
|
将一个一维 Tensor 转换成参数列表 |
|
对传入的 layer 中的权重参数进行归一化 |