
在使用PyTorch构建深度学习模型时,了解关键层至关重要,无论是视觉、语言建模、时间序列还是音频领域的模型,这些层都是必需的基本元素。
为了让大家更好的 学习神经网络和pytorch,小墨还为大家准备相关学习资料(基础到进阶全部包含)。

图中的资料都已下载打包
大家可以任意添加一位小助手获取(长按二维码图片添加既可),记得发送文章标题截图给小助手哦!

torch.nn.Linear
线性层通过对输入数据的特征向量乘以权重矩阵(并可选择加上偏置)来应用线性变换。
它常用于全连接神经网络、Transformer模型中的块、分类任务以及许多模型的最终层。
torch.nn.Conv1d(序列),torch.nn.Conv2d(图像),
torch.nn.Conv3d(视频、3D)
卷积层应用卷积操作以捕获空间或时间依赖性,它在输入的不同部分应用相同的权重。
它在计算机视觉(如用于图像分类的卷积神经网络)中至关重要,同时也因其计算效率而在序列数据、视频和3D模型中得到应用。
torch.nn.BatchNorm1d(序列),
torch.nn.BatchNorm2d(图像),
torch.nn.BatchNorm3d(视频、3D)
批量归一化层对输入进行归一化,使其具有学习的均值和方差,从而加速训练并提高模型稳定性。
它常用于深度神经网络中以改善收敛性和性能,例如在计算机视觉模型中。
torch.nn.Dropout,torch.nn.Dropout1d(序列),torch.nn.Dropout2d(图像),torch.nn.Dropout3d(视频、3D)
Dropout层在训练过程中随机将输入单元的一部分设置为零,以促进后续层中权重的更好利用。
Dropout1d、Dropout2d和Dropout3d分别将此功能扩展到1D、2D和3D输入。
它们常用于提高各种类型神经网络的泛化能力,尤其是与线性层一起使用时。
torch.nn.Embedding
嵌入层将离散输入数据(如单词)映射为连续向量表示。
它在自然语言处理任务(如大型语言模型中的词嵌入)中至关重要。
torch.nn.ReLU,torch.nn.Sigmoid,torch.nn.Tanh,torch.nn.Softmax
激活层对输入应用非线性函数,使模型能够学习复杂模式。
它们在神经网络中的每一层之后使用以引入非线性,ReLU常用于隐藏层,而Softmax用于输出层进行分类任务。
torch.nn.MultiheadAttention
多头注意力层允许模型在进行预测时关注输入序列的不同部分。
它广泛用于基于Transformer的模型(如大型语言模型)中,用于机器翻译、文本摘要和其他自然语言处理应用。
torch.nn.MaxPool1d(序列),torch.nn.AvgPool1d(序列),torch.nn.MaxPool2d(图像),
torch.nn.AvgPool2d(图像),torch.nn.MaxPool3d(视频、3D),torch.nn.AvgPool3d(视频、3D)
池化层减少输入的空间维度,通常用于卷积层之后以下采样特征图。
最大池化从输入的每个区域选择最大值,而平均池化计算平均值。
这些层有助于减少计算负载,并引入信息瓶颈,有助于防止过拟合。
torch.nn.ConstantPad1d(序列),
torch.nn.ConstantPad2d(图像),
torch.nn.ConstantPad3d(视频、3D)
填充层向输入数据添加填充,以确保不同大小的输入被标准化为相同大小,以便它们可以作为一批并行处理。
这在卷积或序列模型中特别有用,以控制输出的空间维度,ConstantPad1d、ConstantPad2d和ConstantPad3d分别将此功能扩展到1D、2D和3D输入。
另外我还给大家准备了一些机器学习、深度学习、神经网络资料大家可以看看以下文章(文章中提到的资料都打包好了,都可以直接添加小助手获取)
大家觉得这篇文章有帮助的话记得分享给你的死党、闺蜜、同学、朋友、老师、敌蜜!