【动手学习深度学习--逐行代码解析合集】07多层感知机的简洁实现

news2024/12/27 12:09:52

【动手学习深度学习】逐行代码解析合集

07多层感知机的简洁实现


视频链接:动手学习深度学习–softmax回归简洁实现
课程主页:https://courses.d2l.ai/zh-v2/
教材:https://zh-v2.d2l.ai/

1、代码

import torch
from torch import nn
from d2l import torch as d2l
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"

"====================1、模型===================="
# 与softmax回归的简洁实现相比, 唯一的区别是我们添加了2个全连接层(之前我们只添加了1个全连接层)
# 第一层是隐藏层,它包含256个隐藏单元,并使用了ReLU激活函数,第二层是输出层。
net = nn.Sequential(nn.Flatten(),
                    nn.Linear(784, 256),
                    nn.ReLU(),
                    nn.Linear(256, 10))

def init_weights(m):
    if type(m) == nn.Linear:
        nn.init.normal_(m.weight, std=0.01)

net.apply(init_weights);

# 训练过程的实现与我们实现softmax回归时完全相同,
# 这种模块化设计使我们能够将与模型架构有关的内容独立出来。
batch_size, lr, num_epochs = 256, 0.1, 10
loss = nn.CrossEntropyLoss(reduction='none')
trainer = torch.optim.SGD(net.parameters(), lr=lr)

train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, trainer)
d2l.plt.show()

"====================2、小结===================="
# (1)我们可以使用高级API更简洁地实现多层感知机。
# (2)对于相同的分类问题,多层感知机的实现与softmax回归的实现相同,
# 只是多层感知机的实现里增加了带有激活函数的隐藏层。

2、运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/716678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app crypto-js DES 加解密 ,支持app , h5,小程序

crypto-js DES 加解密 ,支持app,h5,小程序 第一步 npm install crypto-js 可以直接下载示例运行,看控制台打印 下载地址 https://ext.dcloud.net.cn/plugin?id13351 crypto-js DES 加解密 - DCloud 插件市场

科技富豪抑郁了

原美团二当家王慧文据说抑郁了 什么能解决抑郁问题? 趣讲大白话:科技富豪也抑郁 【趣讲信息科技216期】 **************************** 王富豪创立光年之外AI公司2个月就休息了 知识解决不了抑郁问题 抑郁是现代社会一个常见的症状 是压力所带来的综合症…

牛客网Verilog刷题——VL39

牛客网Verilog刷题——VL39 题目答案 题目 设计一个自动贩售机,输入货币有两种,为0.5/1元,饮料价格是1.5/2.5元,要求进行找零,找零只会支付0.5元。 1、投入的货币会自动经过边沿检测并输出一个在时钟上升沿到1&#x…

HTML-表格、表单标签

目录 表格标签 表单标签 表单项标签 表格标签 场景&#xff1a;在网页中以表格&#xff08;行、列&#xff09;形式整齐展示数据&#xff0c;如班级表标签 标签描述属性/备注<table>定义表格整体&#xff0c;可以包裹多个<tr>border:规定表格边框的宽度width&am…

盖雅劳动力管理云完成多方信创适配,打造信创产业生态

为响应国产化和信创战略需求&#xff0c;盖雅工场积极推动产品适配国产操作系统、国产数据库、国产硬件设备和国产处理器&#xff0c;不断拓展公司信创产业链技术升级。 近日&#xff0c;盖雅工场顺利完成多方信创适配&#xff0c;成功与 麒麟Kylin、鲲鹏Kunpeng、达梦数据库…

一键ai绘画怎么使用你清楚吗?

在当代科技的浪潮中&#xff0c;人工智能绘画生成器犹如一位神奇的画笔&#xff0c;以其特别的创造力&#xff0c;将数字代码转化成令人惊叹的艺术杰作。它就像是一位天才魔术师&#xff0c;能从虚无中诞生出栩栩如生的图像&#xff0c;给人们带来触动和美感。 看着这些ai绘画…

VOC数据集介绍以及读取(目标检测object detection)

VOC&#xff08;Visual Object Classes&#xff09;数据集是一个广泛使用的计算机视觉数据集&#xff0c;主要用于目标检测、图像分割和图像分类等任务。VOC数据集最初由英国牛津大学的计算机视觉小组创建&#xff0c;并在PASCAL VOC挑战赛中使用。 VOC数据集包含各种不同类别…

今晚打老虎:用katalon解决接口/自动化测试拦路虎--参数化

#全局变量 右侧菜单栏中打开profile&#xff0c;点击default&#xff0c;打开之后&#xff0c;在default页面点击add添加全局变量 如果你想学习接口自动化测试&#xff0c;我这边给你推荐一套视频&#xff0c;这个视频可以说是B站播放全网第一的接口自动化测试教程&#xff0c…

ux-grid实现表格排序

需求说明&#xff1a; 1、第一行不参与排序 2、实现带%排序 3、实现null值排序 4、实现值相等不排序 5、实现含有占位符‘–‘排序放到最后 表格属性说明文档 效果图如下&#xff1a; 代码如下&#xff1a; <template><div><ux-gridhighlightCurrentRow:data&…

JavaScript 使用canvas绘制随机生成图形验证码

文章目录 HTML 结构准备CSS 样式准备JavaScript 逻辑部分首先做个准备&#xff1a;声明一个空数组用来随机生成验证码封装一个为canvas标签渲染的函数&#xff0c;用来随机生成验证码还需要封装一个用来生成随机颜色的函数获取到canvas标签为其绑定点击事件为按钮绑定判断点击事…

day1-若依项目前后端分离的初步使用

响应式布局: 做好的产品能在pc端,手机,平板都能正常浏览 开发项目两种方式 1.自己从0开始写代码 2.在若依中下载拥有基础功能的源码 若依使用的mysql版本 mysql5.7 导入别人的项目如何操作 若依项目下载地址**:https://gitee.com/y_project/RuoYi-Vue.git** 可以使用揉…

数学建模——曲线拟合

一、曲线拟合简介 1、曲线拟合问题的提法 已知一组数据&#xff08;二维&#xff09;&#xff0c;即平面上n个点 (xi,yi)(i1,2,…,n)&#xff0c; xi互不相同。寻求一个函数yf(x)&#xff0c;使得f(x)在某种准则下与所有的数据点最为接近&#xff0c;即拟合得最好。 2、…

LabVIEW仿真单频脉冲信号+线性调频信号+高斯白噪声信号

文章目录 前言一、单频脉冲信号1、信号参数2、仿真图①、前面板②、程序框图 二、线性调频信号1、信号参数2、仿真图①、前面板②、程序框图 三、高斯白噪声信号1、信号参数2、仿真图①、前面板②、程序框图 四、合成信号1、前面板2、程序框图 五、代码自取 前言 本文基于 Lab…

5.1.4.8 RDD 持久化

1) RDD Cache 缓存 RDD 通过 Cache 或者 Persist 方法将前面的计算结果缓存&#xff0c;默认情况下会把数据以缓存 在 JVM 的堆内存中。但是并不是这两个方法被调用时立即缓存&#xff0c;而是触发后面的 action 算 子时&#xff0c;该 RDD 将会被缓存在计算节点的内存中&…

应用案例 | 使用tManager ControlLogix模块优化食品生产研发流程

探索tManager在食品制造应用中如何创建实时时间戳的过程数据&#xff0c;从而改善产品的开发流程。 一 背景 为了在当今以数据驱动的制造环境中取得成功&#xff0c;车间控制系统必须能够与企业计算系统进行信息交换。对此&#xff0c;事务管理器&#xff0c;像Softing的tMana…

银河麒麟服务器v10 sp1 安装 nginx

首先查询是否安装&#xff1a; rootxxx-pc:~# ps -ef |grep nginx 或 rootxzx-pc:~# dpkg -list|grep nginx 如果安装请先卸载&#xff0c;或者直接使用&#xff0c;以下步骤你就可以忽略了&#xff0c;软件包的卸载方法&#xff1a; 1、APT方式 &#xff08;1&#xff09…

牛客网Verilog刷题——VL40

牛客网Verilog刷题——VL40 题目答案 题目 设计一个同时输出7分频的时钟分频器&#xff0c;占空比要求为50%。注意rst为低电平复位。   信号示意图如下&#xff1a; 波形示意图如下。 输入输出描述&#xff1a; 信号类型输入/输出位宽描述clk_inwireIntput1系统时钟信号rs…

node.js分词搜索

背景 最近有个需求是要实现类似【搜索引擎】的功能&#xff0c;用户输入关键字&#xff0c;后台实时推送相关数据。 思路 先仿Elasticsearch做一个简单的分词效果&#xff0c;然后根据分词逐一数据库查询&#xff0c;然后以结果【出现次数由多到少】的顺序展示数据。 实现…

C++多线程学习(三、线程处理函数【get_id、sleep_for、yield、sleep_until】)

目录 线程处理函数 1.获取线程id&#xff1a;get_id 2.延时函数&#xff1a;sleep_for 3.放弃执行函数&#xff0c;调用另一个线程&#xff1a;yield 4.让当前线程休眠直到指定的时间点&#xff1a;sleep_until 线程处理函数 1.获取线程id&#xff1a;get_id #include&l…