news 2026/4/16 13:48:32

多层感知机与正则化技术:高级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/4/16 11:14:02

‌游戏测试:功能、性能、兼容性与用户体验的综合剖析

在数字娱乐高速发展的今天,游戏测试已成为软件测试领域的关键分支。作为测试从业者,我们深知一款成功游戏不仅依赖于创意设计,更离不开严谨的测试流程。本文聚焦游戏测试的四大支柱——功能测试、性能测试、兼容性测试和用户体验测试&#xf…

作者头像 李华
网站建设 2026/4/15 13:38:56

PyTorch-CUDA-v2.9镜像助力舆情分析大模型落地

PyTorch-CUDA-v2.9镜像助力舆情分析大模型落地 在智能城市、公共治理与品牌监控日益依赖数据洞察的今天,舆情分析已不再只是“关键词匹配情感词典”的简单规则系统。面对海量社交媒体文本、多模态内容和实时性要求,基于大语言模型的情感识别、事件抽取与…

作者头像 李华
网站建设 2026/4/16 13:02:42

PyTorch-CUDA-v2.9镜像支持联邦学习框架Flower

PyTorch-CUDA-v2.9 镜像集成 Flower:开启高效隐私保护的联邦学习新范式 在医疗影像建模、金融风控联合分析和跨企业AI协作日益频繁的今天,一个核心矛盾始终存在:如何在不共享原始数据的前提下,实现多方协同训练高性能模型&#xf…

作者头像 李华
网站建设 2026/4/11 21:28:40

PyTorch-CUDA-v2.9镜像助力电商推荐系统升级

PyTorch-CUDA-v2.9镜像助力电商推荐系统升级 在电商平台日均流量动辄上亿的今天,用户点击行为数据呈爆炸式增长,如何从海量高维稀疏特征中精准捕捉兴趣偏好,成为提升转化率的关键。传统协同过滤与逻辑回归模型面对复杂的用户-商品交互模式已显…

作者头像 李华
网站建设 2026/4/16 12:56:46

基于SpringBoot的智能家教服务平台【2026最新】

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

作者头像 李华
网站建设 2026/4/16 12:57:44

PyTorch-CUDA-v2.9镜像在智能写作润色中的表现

PyTorch-CUDA-v2.9镜像在智能写作润色中的表现 如今,内容创作的智能化正在重塑媒体、教育、营销等多个行业。从自动生成新闻摘要到辅助学生修改作文,AI驱动的智能写作润色系统已成为自然语言处理(NLP)落地的重要方向。然而&#x…

作者头像 李华