news 2026/3/10 14:16:38

多层感知机与正则化技术:高级API实现多层感知机

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多层感知机与正则化技术:高级API实现多层感知机

多层感知机的简洁实现

学习目标

通过本课程,学员将了解到如何更简洁地实现多层感知机,具体来说,学员会学习使用高级API更简洁地实现多层感知机、多层感知机的实现与softmax回归的实现相比增加了带有激活函数的隐藏层、以及如何将与模型架构有关的内容独立出来等重要内容。

相关知识点

  • 多层感知机简洁实现

学习内容

1 多层感知机简洁实现

本课程将介绍通过高级API更简洁地实现多层感知机
首先,我们使用PyTorch的torch库,并引入必要的模块,如nn(神经网络模块)和d2l(用于简化代码的工具库)。

%pip install d2l==0.17.6--no-deps
importtorchfromtorchimportnnimporttorchvisionfromtorch.utilsimportdatafromtorch.utils.dataimportDataLoaderfromtorchvisionimporttransformsfromd2limporttorchasd2l
1.1 构建模型

与softmax回归的简洁实现相比,
唯一的区别是我们添加了2个全连接层(之前只添加了1个全连接层)。

第一层是隐藏层,它包含256个隐藏单元,并使用了ReLU激活函数。ReLU(Rectified Linear Unit)激活函数用于引入非线性,使得模型能够学习更复杂的模式。
第二层是输出层。用于生成最终的分类结果。
接下来,我们定义一个权重初始化函数init_weights,用于初始化模型中的线性层权重。这里我们使用正态分布初始化权重,标准差设为0.01。
然后,我们使用net.apply(init_weights)将初始化函数应用到模型的所有层。

net=nn.Sequential(nn.Flatten(),nn.Linear(784,256),nn.ReLU(),nn.Linear(256,10))definit_weights(m):iftype(m)==nn.Linear:nn.init.normal_(m.weight,std=0.01)net.apply(init_weights);
1.2 训练过程

训练过程的实现与我们实现softmax回归时完全相同,这种模块化设计使我们能够将与模型架构有关的内容独立出来。
我们设置批量大小batch_size为256,学习率lr为0.1,训练轮数num_epochs为10。损失函数使用交叉熵损失CrossEntropyLoss,优化器使用随机梯度下降SGD

batch_size,lr,num_epochs=256,0.1,10loss=nn.CrossEntropyLoss(reduction='none')trainer=torch.optim.SGD(net.parameters(),lr=lr)

然后,我们加载Fashion-MNIST数据集,并开始训练模型。

# 下载数据!wget https://model-community-picture.obs.cn-north-4.myhuaweicloud.com/ascend-zone/notebook_datasets/f3c4da6614e611f0b571fa163edcddae/FashionMNIST.zip
!unzip FashionMNIST.zip
# 通过ToTensor实例将图像数据从PIL类型变换成32位浮点数格式,# 并除以255使得所有像素的数值均在0~1之间trans=transforms.ToTensor()mnist_train=torchvision.datasets.FashionMNIST(root="./data",train=True,transform=trans,download=False)mnist_test=torchvision.datasets.FashionMNIST(root="./data",train=False,transform=trans,download=False)
# 使用 DataLoader 实现分批次加载train_iter=DataLoader(mnist_train,batch_size=batch_size,shuffle=True)test_iter=DataLoader(mnist_test,batch_size=batch_size,shuffle=False)
d2l.train_ch3(net,train_iter,test_iter,loss,num_epochs,trainer)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/26 20:09:48

自动化机器学习流水线:集成PyTorch-CUDA-v2.9镜像构建CI/CD

自动化机器学习流水线:集成PyTorch-CUDA-v2.9镜像构建CI/CD 在现代AI研发中,一个常见的尴尬场景是:“模型在我的本地能跑,在CI里却报CUDA错误”——这种“环境漂移”问题几乎困扰过每一个深度学习团队。更糟糕的是,当新…

作者头像 李华
网站建设 2026/3/8 7:37:05

PyTorch-CUDA-v2.9镜像运行命名实体识别NER模型

PyTorch-CUDA-v2.9 镜像实战:高效运行命名实体识别(NER)模型 在自然语言处理的实际项目中,我们常常面临一个尴尬的现实:明明代码写得没问题,模型结构也合理,可一到换机器部署或团队协作时&…

作者头像 李华
网站建设 2026/3/3 0:36:27

Grad-CAM可视化CNN关注区域热力图

Grad-CAM可视化CNN关注区域热力图 在医疗影像诊断系统中,一个深度学习模型可能以95%的置信度判断某张肺部X光片存在肺炎病灶。但医生不会轻易采信这个结果——他们真正关心的是:模型是基于哪些视觉依据做出这一判断的?它真的看到了病变区域&a…

作者头像 李华
网站建设 2026/3/10 6:03:34

S2B2b供应链采购商城系统引领纺织材料行业数字化变革

纺织材料行业作为国民经济的传统支柱产业和重要的民生产业,其供应链的高效运转对整个产业链的健康发展至关重要。然而,在数字化浪潮席卷全球的今天,传统纺织材料供应链的采购环节仍面临着诸多挑战。如何利用数字化技术破解采购难题&#xff0…

作者头像 李华
网站建设 2026/3/5 17:47:54

揭秘!电机试验与T型槽试验工作台差异,造型避坑指南

揭秘!电机试验与T型槽试验工作台差异,造型避坑指南1. 核心功能定位差异电机试验工作台专为电机性能测试(如扭矩、转速、效率、温升)设计。需满足:高刚性基座:抑制电磁振动,保证测量精度精密对中…

作者头像 李华
网站建设 2026/2/15 10:39:40

BERT-base微调速度对比:不同GPU硬件表现

BERT-base微调速度对比:不同GPU硬件表现 在自然语言处理(NLP)研发一线,你是否也经历过这样的场景?——明明模型结构没变、数据量也不大,但同事用A100跑完BERT微调只要20分钟,而你的RTX 3090却跑…

作者头像 李华