pytorch学习总结之模型网格结构搭建
模型网格结构搭建
nn.module类
-
我们在定义自已的网络的时候,需要继承nn.Module类,并重新实现构造函数__init__构造函数和forward这两个方法
nn.Sequential类
-
当一个模型较简单的时候,我们可以使torch.nn.Sequential类来实现简单的顺序连接模型。这个模型也是继承自Module类的 参考学习链接:
其有三种实现方法
- 直接定义
- 添加名称
- add_module
nn.Conv2d()
二维卷积
-
前三个参数是必须手动提供的,后面的有默认值 [外链图片转存中…(img-czTR1FdI-19629ca5417095763f4975e93155.png) 参数详解链接:
nn.BatchNorm2d()
在卷积神经网络的卷积层之后总会添加BatchNorm2d进行数据的归一化处理,这使得数据在进行Relu之前不会因为数据过大而导致网络性能的不稳定
-
数学原理:
与LayerNorm的区别:
-
BathcNorm是在通道channel维,对一个batch中的每个样本的特定维进行归一化。 LayerNorm是在样本维,对单个样本的所有通道(特征)进行归一化 具体请看:
nn.Dropout2d
Dropout2d 的赋值对象是彩色的图像数据(batch N,通道 C,高度 H,宽 W)的一个通道里的每一个数据,即输入为 Input: (N, C, H, W) 时,对每一个通道维度 C 按概率赋值为 0。
激活函数
LeakyReLu
in-palce操作:in-place 操作是直接改变给定线性代数、向量、矩阵(张量)的内容而不需要复制的运算。
上一篇:
JS实现多线程数据分片下载
下一篇:
基于粒子群算法的多目标问题