Pytorch学习--神经网络--线性层及其他层

一、正则化层

torch.nn.BatchNorm2d

python 复制代码
torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None)

正则化的意义:

  • 加速训练收敛:在每一层网络的输入上执行批量归一化可以保持数据的分布稳定,从而减小梯度的波动。这种稳定性让模型更快收敛,从而提高训练速度。

  • 减轻梯度消失和梯度爆炸问题:通过调整每一层的输入分布,Batch Normalization可以减轻深层网络中梯度消失和梯度爆炸的现象,使得更深的网络也能够得到有效的训练。

  • 减少对权重初始化的敏感性:Batch Normalization可以减小网络对权重初始化的依赖,使得模型可以在更宽的初始化范围内有效训练。这减少了在不同模型初始化方案间进行调试的时间和精力。

  • 提高模型的泛化能力:Batch Normalization在训练时引入了少量噪声(由于 mini-batch 的不同),这在一定程度上起到了正则化作用,有助于提高模型的泛化能力,降低过拟合的风险。

  • 降低学习率调整的难度:使用Batch Normalization可以让模型在较高的学习率下进行训练,从而进一步加速训练过程。

二、Dropout层

torch.nn.Dropout

python 复制代码
torch.nn.Dropout(p=0.5, inplace=False)

防止过拟合

三、线性层

torch.nn.Linear

python 复制代码
torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None)

代码实现:

CIFAR 中的图片 转换为 一维的数据(1,m),再转换成 (1,n) 的维度

python 复制代码
import torch
import torchvision
from torch import nn
from torch.nn import Linear
from torch.utils.data import DataLoader

dataset = torchvision.datasets.CIFAR10(root="datasets",train=False,transform=torchvision.transforms.ToTensor(),download=True)

dataloader = DataLoader(dataset,batch_size=64)

class Mary(nn.Module):
    def __init__(self):
        super(Mary,self).__init__()
        self.linear1 = Linear(196608,10)
    def forward(self,x):
        x = self.linear1(x)
        return x
Yorelee = Mary()

for data in dataloader:
    img,targets = data
    img = torch.flatten(img)
    print(img.shape)
    output = Yorelee(img)
    print(output.shape)

输出:

python 复制代码
torch.Size([196608])
torch.Size([10])
相关推荐
鄭郑几秒前
【Playwright学习笔记 07】其它用户视觉定位的方法
笔记·学习
戴西软件2 分钟前
戴西软件发布3DViz设计与仿真数据轻量化平台
大数据·人工智能·安全·机器学习·汽车
喵手2 分钟前
Python爬虫零基础入门【第七章:动态页面入门(Playwright)·第1节】Playwright 第一次:打开页面、等待元素、拿到渲染后 HTML!
爬虫·python·爬虫实战·动态页面·playwright·python爬虫工程化实战·零基础python爬虫教学
LYS_06183 分钟前
寒假学习(5)(C语言5+模数电5)
c语言·学习·模数电
码农三叔5 分钟前
(4-1)机械传动系统与关节设计:关节驱动方式对比
人工智能·架构·机器人·人形机器人
小汤圆不甜不要钱6 分钟前
「Datawhale」RAG技术全栈指南 Task 3
人工智能·深度学习·机器学习·rag
AskHarries7 分钟前
在 Qoder CLI 集成墨刀 MCP(modao-proto)完整指南
人工智能·ai编程
一个无名的炼丹师8 分钟前
DeepSeek+LangGraph构建企业级多模态RAG:从PDF复杂解析到Agentic智能检索全流程实战
python·pdf·大模型·多模态·rag
gs801409 分钟前
【保姆级】MetaGPT安装避坑指南:Windows+Conda环境下解决依赖冲突、版本过低及配置失效问题
人工智能·windows·conda·metagpt
INDEMIND14 分钟前
实用化浪潮开启!消费级机器人从“能动”到“能用”,智能底层决定体验上限
人工智能·陪伴机器人·ces2026·消费级机器人