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 中的权重参数进行归一化  |