自学内容网 自学内容网

【深度学习】Pytorch必须掌握的9种网络层类型

《------往期经典推荐------》

一、AI应用软件开发实战专栏【链接】

项目名称项目名称
1.【人脸识别与管理系统开发2.【车牌识别与自动收费管理系统开发
3.【手势识别系统开发4.【人脸面部活体检测系统开发
5.【图片风格快速迁移软件开发6.【人脸表表情识别系统
7.【YOLOv8多目标识别与自动标注软件开发8.【基于YOLOv8深度学习的行人跌倒检测系统
9.【基于YOLOv8深度学习的PCB板缺陷检测系统10.【基于YOLOv8深度学习的生活垃圾分类目标检测系统
11.【基于YOLOv8深度学习的安全帽目标检测系统12.【基于YOLOv8深度学习的120种犬类检测与识别系统
13.【基于YOLOv8深度学习的路面坑洞检测系统14.【基于YOLOv8深度学习的火焰烟雾检测系统
15.【基于YOLOv8深度学习的钢材表面缺陷检测系统16.【基于YOLOv8深度学习的舰船目标分类检测系统
17.【基于YOLOv8深度学习的西红柿成熟度检测系统18.【基于YOLOv8深度学习的血细胞检测与计数系统
19.【基于YOLOv8深度学习的吸烟/抽烟行为检测系统20.【基于YOLOv8深度学习的水稻害虫检测与识别系统
21.【基于YOLOv8深度学习的高精度车辆行人检测与计数系统22.【基于YOLOv8深度学习的路面标志线检测与识别系统
23.【基于YOLOv8深度学习的智能小麦害虫检测识别系统24.【基于YOLOv8深度学习的智能玉米害虫检测识别系统
25.【基于YOLOv8深度学习的200种鸟类智能检测与识别系统26.【基于YOLOv8深度学习的45种交通标志智能检测与识别系统
27.【基于YOLOv8深度学习的人脸面部表情识别系统28.【基于YOLOv8深度学习的苹果叶片病害智能诊断系统
29.【基于YOLOv8深度学习的智能肺炎诊断系统30.【基于YOLOv8深度学习的葡萄簇目标检测系统
31.【基于YOLOv8深度学习的100种中草药智能识别系统32.【基于YOLOv8深度学习的102种花卉智能识别系统
33.【基于YOLOv8深度学习的100种蝴蝶智能识别系统34.【基于YOLOv8深度学习的水稻叶片病害智能诊断系统
35.【基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统36.【基于YOLOv8深度学习的智能草莓病害检测与分割系统
37.【基于YOLOv8深度学习的复杂场景下船舶目标检测系统38.【基于YOLOv8深度学习的农作物幼苗与杂草检测系统
39.【基于YOLOv8深度学习的智能道路裂缝检测与分析系统40.【基于YOLOv8深度学习的葡萄病害智能诊断与防治系统
41.【基于YOLOv8深度学习的遥感地理空间物体检测系统42.【基于YOLOv8深度学习的无人机视角地面物体检测系统
43.【基于YOLOv8深度学习的木薯病害智能诊断与防治系统44.【基于YOLOv8深度学习的野外火焰烟雾检测系统
45.【基于YOLOv8深度学习的脑肿瘤智能检测系统46.【基于YOLOv8深度学习的玉米叶片病害智能诊断与防治系统
47.【基于YOLOv8深度学习的橙子病害智能诊断与防治系统48.【基于深度学习的车辆检测追踪与流量计数系统
49.【基于深度学习的行人检测追踪与双向流量计数系统50.【基于深度学习的反光衣检测与预警系统
51.【基于深度学习的危险区域人员闯入检测与报警系统52.【基于深度学习的高密度人脸智能检测与统计系统
53.【基于深度学习的CT扫描图像肾结石智能检测系统54.【基于深度学习的水果智能检测系统
55.【基于深度学习的水果质量好坏智能检测系统56.【基于深度学习的蔬菜目标检测与识别系统
57.【基于深度学习的非机动车驾驶员头盔检测系统58.【太基于深度学习的阳能电池板检测与分析系统
59.【基于深度学习的工业螺栓螺母检测60.【基于深度学习的金属焊缝缺陷检测系统
61.【基于深度学习的链条缺陷检测与识别系统62.【基于深度学习的交通信号灯检测识别
63.【基于深度学习的草莓成熟度检测与识别系统64.【基于深度学习的水下海生物检测识别系统
65.【基于深度学习的道路交通事故检测识别系统66.【基于深度学习的安检X光危险品检测与识别系统
67.【基于深度学习的农作物类别检测与识别系统68.【基于深度学习的危险驾驶行为检测识别系统
69.【基于深度学习的维修工具检测识别系统70.【基于深度学习的维修工具检测识别系统
71.【基于深度学习的建筑墙面损伤检测系统72.【基于深度学习的煤矿传送带异物检测系统
73.【基于深度学习的老鼠智能检测系统

二、机器学习实战专栏【链接】,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~

《------正文------》

引言

在使用PyTorch构建深度学习模型时,了解关键层至关重要。视觉、语言建模、时间序列和音频中的所有现代模型都使用这些层作为更复杂块中的基础。

1.线性(全连接)层:

torch.nn.Linear

线性层通过将特征向量与权重矩阵相乘并添加可选的偏置来对传入数据应用线性变换。它通常用于全连接神经网络、Transformer模型中的块、分类任务,以及许多模型中的最后一层。

2.卷积层:

torch.nn.Conv1d(序列)、torch.nn.Conv2d(图像)、torch.nn.Conv3d(视频,3D)

卷积层应用卷积操作来捕获空间或时间依赖性,它在输入的不同部分应用相同的权重。这是计算机视觉的基本功能(例如,用于图像分类的CNN),但由于其计算效率,也适用于序列数据,视频和3D模型。

3.批量标准化层:

torch.nn.BatchNorm1d(序列)、torch.nn.BatchNorm2d(图像)、torch.nn.BatchNorm3d(视频,3D)

Batch Normalization层对输入进行标准化,以获得学习的均值和方差,从而加速训练并提高模型稳定性。它经常用于深度神经网络,以提高收敛性和性能,例如计算机视觉模型。

4.随机丢弃层:

torch.nn.Dropouttorch.nn.Dropout1d(序列)、torch.nn.Dropout2d(图像)、torch.nn.Dropout3d(视频,3D)

Dropout层在训练过程中随机将一部分输入单元设置为零,以便于更好地使用下一层中的权重。Dropout1d、Dropout2d和Dropout3d分别将此功能扩展到1D、2D和3D输入。它们通常用于提高各种类型神经网络的泛化能力,但特别用于线性层。

5.嵌入层:

torch.nn.Embedding

嵌入层映射离散输入数据(例如,词)转换成连续的向量表示。它在自然语言处理任务中至关重要,例如**大型语言模型(LLMs)**中的单词嵌入。

6.激活层:

torch.nn.ReLU`,`torch.nn.Sigmoid`,`torch.nn.Tanh`,`torch.nn.Softmax

激活层将非线性函数应用于输入,使模型能够学习复杂的模式。它们在神经网络的每一层之后使用,以引入非线性; ReLU在隐藏层中很常见,而Softmax在输出层中用于分类任务。(阅读这篇文章以了解更多)

7.注意力层:

torch.nn.MultiheadAttention

MultiheadAttention层允许模型在进行预测时关注输入序列的不同部分。它广泛用于****基于transformer的模型,如LLMs,用于机器翻译,文本摘要和其他NLP应用程序等任务。

8.池化层:

torch.nn.MaxPool1d(序列),torch.nn.AvgPool1d(序列),torch.nn.MaxPool2d(图像)、torch.nn.AvgPool2d(图像)、torch.nn.MaxPool3d(视频,3D)、torch.nn.AvgPool3d(视频,3D)

池化层减少了输入的空间维度,通常在卷积层之后用于对特征图进行下采样。最大池化从输入的每个区域中选择最大值,而平均池化计算平均值。这些层有助于减少计算负载,并引入信息瓶颈,这有助于过拟合。

9.填充层:

torch.nn.ConstantPad1d(序列)、torch.nn.ConstantPad2d(图像)、torch.nn.ConstantPad3d(视频,3D)

填充层向输入数据添加填充,以确保不同大小的输入被标准化为具有相同的大小,以便它们可以作为一个批处理并行处理。这在卷积或序列模型中特别有用,以控制输出的空间维度。ConstantPad1d、ConstantPad2d和ConstantPad3d分别将此功能扩展到1D、2D和3D输入。


在这里插入图片描述

好了,这篇文章就介绍到这里,喜欢的小伙伴感谢给点个赞和关注,更多精彩内容持续更新~~
关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!


原文地址:https://blog.csdn.net/qq_42589613/article/details/143667645

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!