PyTorch-1.10(九)--torch.nn的Transformer层、线性层和Dropout

Transformer Layers

nn.Transformer

Transformer模型

nn.TransformerEncoder

Transformer模型Encoder模块

nn.TransformerDecoder

Transformer模型Decoder模块

nn.TransformerEncoderLayer

由自注意力和前馈网络组成的TransformerEncoderLayer

nn.TransformerDecoderLayer

由自注意力、多头注意力和前馈网络组成的TransformerDecoderLayer

Linear Layers

nn.Identity

参数不敏感的标识运算占位符

nn.Linear

对输入数据进行线性变换: y = x*A^T + b

nn.Bilinear

对输入数据进行双线性变换: y = x1^T *A* x2 + b

nn.LazyLinear

​ torch.nn.Linear线性模块,可推断in_features。

Dropout Layers

nn.Dropout

在训练过程中,使用来自伯努利分布的样本,以概率p随机地将输入张量的一些元素归零。

nn.Dropout2d

随机将整个通道归零(通道是2D特征图,例如,批量输入中第i个样本的第j个通道是2D张量输入[i,j])。

nn.Dropout3d

随机调零整个通道(通道是3D特征图,例如,批量输入中第i个样本的第j个通道是3D张量输入[i,j])。

nn.AlphaDropout

在输入上应用AlphaDropout。

nn.FeatureAlphaDropout

随机屏蔽整个通道 (通道是一个特征图)

Sparse Layers

nn.Embedding

一个简单的查找表,用于存储固定字典和大小的嵌入项。

nn.EmbeddingBag

计算嵌入的“包”的总和或平均,而不实例化中间嵌入。

Distance Functions

nn.CosineSimilarity

返回x1和x2之间的余弦相似性​和x2​, 沿着轴计算。

nn.PairwiseDistance

使用p-范数计算向量v1和v2之间的距离​。

Shuffle Layers

nn.ChannelShuffle

将形状为(∗,C、 H,W)的张量按照通道分成g组,并将其重新排列为(*,Cg,g,H,W),同时保持原始张量形状。

DataParallel Layers (multi-GPU, distributed)

nn.DataParallel

在模块级实现数据并行。

nn.parallel.DistributedDataParallel

在模块实现基于torch.distributed包的分布式数据并行。

你可能感兴趣的:(深度学习框架,transformer,深度学习,人工智能)