LeNet(pytorch实现
LeNet
本文编写了一个简单易懂的LeNet网络,并在F-MNIST数据集上进行测试,允许使用GPU计算
在这里插入代码片
import torch
from torch import nn, optim
import d2lzh_pytorch as d2ldevice = torch.device('cuda' if torch.cuda.is_available() else 'cpu')# f-mnist 数据集是28*28的
class LeNet(nn.Module):def __init__(self):super(LeNet, self).__init__()self.conv = nn.Sequential(nn.Conv2d(1, 6, 5), # 输出通道,输出通道,核大小nn.Sigmoid(),nn.MaxPool2d(2, 2), # 高宽减半nn.Conv2d(6, 16, 5),nn.Sigmoid(),nn.MaxPool2d(2, 2))self.fc = nn.Sequential(d2l.FlattenLayer(),nn.Linear(16*4*4, 120),nn.Sigmoid(),nn.Linear(120, 84),nn.Sigmoid(),nn.Linear(84, 10))def forward(self, img):feature = self.conv(img)output = self.fc(feature)return output
net = LeNet()# 数据集
batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)# 评估测试集,支持GPU
def evaluate_acc(data_iter, net, device = None):if device is None and isinstance(net, nn.Module):device = list(net.parameters())[0].device # 看参数的gpu还是cpuacc_sum, n = 0.0, 0with torch.no_grad():for X,y in data_iter:if isinstance(net, nn.Module): # 这个可加可不加net.eval() # 评估模式acc_sum += (net(X.to(device)).argmax(dim=1) == y.to(device)).float().sum().cpu().item()net.train() # 转回训练模式n += y.shape[0]return acc_sum / ndef train(net, train_iter, test_iter, optimizer, device, epochs):net = net.to(device)loss = nn.CrossEntropyLoss()for epoch in range(epochs):train_l_sum, train_acc_sum, n = 0.0, 0.0, 0for X,y in train_iter:X = X.to(device)y = y.to(device)y_hat = net(X)l = loss(y_hat, y)optimizer.zero_grad()l.backward()optimizer.step()train_l_sum += l.cpu().item()train_acc_sum += (y_hat.argmax(dim=1) == y).sum().cpu().item()n += y.shape[0]test_acc = evaluate_acc(test_iter, net)print('epoch %d, loss %.4f, train_acc %.4f, test_acc %.4f'%(epoch + 1, train_l_sum, train_acc_sum/n, test_acc))lr, epochs = 0.001, 5
optimizer = torch.optim.Adam(net.parameters(), lr=lr)
train(net, train_iter, test_iter, optimizer, device, epochs)相关文章:
LeNet(pytorch实现
LeNet 本文编写了一个简单易懂的LeNet网络,并在F-MNIST数据集上进行测试,允许使用GPU计算 在这里插入代码片 import torch from torch import nn, optim import d2lzh_pytorch as d2ldevice torch.device(cuda if torch.cuda.is_available() else cp…...
Selenium获取百度百科旅游景点的InfoBox消息盒
前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了SeleniumPhantomjs后,准备利用它们获取百度百科的旅游景点消息盒(InfoBox),这也是毕业设计实体对齐和属…...
springcloud笔记 (8) -网关 Gateway
网关 出国需要过海关 网关:网络的关卡 网关的作用 1:路由转发 2:安全控制 保护每个服务,不需要将每个暴露出去 3:负载均衡 1.没有网关:客户端直接访问我们的微服务,会需要在客户端配置很多…...
【C++编程语言】STL常用算法 算术生成和集合算法
1.算术生成算法概念 算法简介: accumlate 计算容器元素累计总和fill 向容器中添加元素 注意:算术生成算法属于小型算法 使用时包含头文件为#include<numeric> 2.accumulate /*函数原型:int accumulate(iterator beg ,iterator end…...
解放双手:VMLogin自动化工具的高效便捷
在现代工作环境中,时间和效率是我们追求的关键。幸运的是,随着技术的发展,自动化工具为我们提供了解放双手的机会。其中,防关联浏览器的自动化就是一种强大的工具,能够简化我们的工作流程并提升效率。本文将探讨浏览器…...
深度解析网络代理技术及其在网络安全和爬虫应用中的关键作用
在当今数字化时代,网络代理技术在维护网络安全、保护隐私以及实现高效数据获取方面发挥着不可或缺的作用。本文将全面解析Socks5代理、IP代理等关键技术,并探讨其在网络安全和爬虫开发中的重要作用。 1. Socks5代理与SK5代理:多功能代理协议…...
寻找二叉树的最低公共祖先节点
两个节点沿二叉树向上找,找到的第一个公共的节点 例:D和F之间的最低公共节点:B D → B; F → E → B; E和G最低公共节点:A E → B → A; G → C → A; B和F最低公共节点ÿ…...
python网络爬虫(二)基本库的使用urllib/requests
使用urllib 了解一下 urllib 库,它是 Python 内置的 HTTP 请求库,也就是说不需要额外安装即可使用。它包含如下 4 个模块。 request:它是最基本的 HTTP 请求模块,可以用来模拟发送请求。就像在浏览器里输入网址然后回车一样&…...
Kafka快速入门(最新版3.6.0)
文章目录 一、初识MQ1.1 什么是MQ1.2 同步和异步通讯1.1.1 同步通讯1.1.2 异步通讯 1.3 技术对比1.4 MQ的两种模式 二、初识Kafka2.1 Kafka的使用场景2.2 Kafka基本概念2.3 Topic与Partition 三、Kafka基本使用3.1 部署前的准备3.2 启动kafka服务器3.3 Kafka核心概念之Topic3.4…...
CTF/AWD竞赛标准参考书+实战指南:《AWD特训营》
作者简介: 懒大王敲代码,正在学习嵌入式方向有关课程stm32,网络编程,数据结构C/C等 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 《AWD特训营》 前言 内容简介 读者对象 本书目录 前言…...
从零开始 Spring Cloud 15:多级缓存
从零开始 Spring Cloud 15:多级缓存 多级缓存架构 传统的缓存使用 Redis,大致架构如下: 这个架构存在一些问题: 请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈 Redis缓存失效时,会对数据库产生冲…...
Adobe产品2024
一、软件下载: 二、软件介绍: Adobe公司旗下的产品在影视后期、平面设计等领域有着无可取代的地位。在创意和设计领域中,产品有多达 21 个,包括 Photoshop、Illustrator、InDesign、Premiere Pro、After Effects 和 Acrobat Pro …...
【MySQL】8.0新特性、窗口函数和公用表表达式
文章目录 1. 新增特性2. 移除旧特性2.1 优点2.2 缺点 3. 新特性1:窗口函数3.1 使用窗口函数前后对比3.2 窗口函数分类3.3 语法结构3.4 分类讲解3.4.1 序号函数3.4.1.1 ROW_NUMBER()函数3.4.1.2 RANK()函数3.4.1.3 DENSE_RANK()函数 3.4.2 分布函数3.4.2.1 PERCENT_R…...
华为云云耀云服务器L实例评测|使用clickhouse-benchmark工具对ClickHouse的性能测试
目录 引言 1 ClickHouse简介 2 利用docker安装ClickHouse 2.1 安装Docker 2.2 下载ClickHouse Docker镜像 2.3 创建ClickHouse容器 2.4 访问ClickHouse 3 创建测试表 4 运行 clickhouse-benchmark 5 分析结果 结语 引言 利用华为云的云耀云服务器L实例,…...
枚举最大值+ds:1887D
https://codeforces.com/problemset/problem/1887/D 左边区间最大值小于右边区间最小值 肯定要离线 感觉分治? 枚举左边区间最大值 求出其影响范围,推出左端点可取范围 然后可取右端点就是一段连续大于此值得区间 也就是左端点在一段区间时右端点可…...
模拟最终成绩计算过程
首先输入大于2的整数作为评委人数,然后依次输入每个评委的打分,要求每个分数介于0~100.输入完所有评委打分之后,去掉一个最高分,去掉一个最低分,剩余分数的平均分即为该选手的最终得分 (1) while True:try:n int(input(请输入评委人数:))assert n > 2# 跳出循环breakexce…...
Android10 修改开发者选项中动画缩放默认值
Android 10 修改开发者选项中动画因子默认值 开发者选项中有三个动画因子 “Window animation scale” :窗口动画缩放“Transition animation scale” :过渡动画缩放“Animator duration scale” :动画程序时长缩放 修改默然值 默认3个因子都是1.0,现在修改为默认0.…...
【2023年11月第四版教材】软考高项极限冲刺篇笔记(3)
8 成本管理 成本类型:可变成本、固定成本、直接成本、间接成本、机会成本、沉没成本 应急储备:成本基准内 管理成本:成本基准外 进度偏差:SV,SPI 成本管理主要是规划和控制 成本估算 类比估算 参数估算 自上而下估算 三点估算 备选方案分析 储备分析 质量成本 总资…...
c语言进阶部分详解(详细解析自定义类型——结构体,内存对齐,位段)
上篇文章介绍了一些常用的字符串函数,大家可以去我的主页进行浏览。 各种源码大家可以去我的github主页进行查找:Nerosts/just-a-try: 学习c语言的过程、真 (github.com) 今天要介绍的是:结构体的相关内容 目录 一.结构体类型的声明 1.…...
Mysql第三篇---响应太慢?数据库卡顿?如何优化?
Mysql第三篇—响应太慢?数据库卡顿?如何优化? 统计SQL的查询成本:last_query_cost 一条SQL查询语句在执行前需要确定查询执行计划,如果存在多种执行计划的话,MySQL会计算每个执行计划所需要的成本&#x…...
chandra OCR日志分析:错误模式识别与改进
Chandra OCR日志分析:错误模式识别与改进 如果你正在用Chandra OCR处理文档,可能会遇到一些“小脾气”——比如识别结果里表格乱了、公式错了,或者干脆漏掉了一段文字。别担心,这些问题不是你的错,而是模型在特定场景…...
智平方、云深处、乐聚扎堆冲刺IPO——资本化元年开启,百亿估值背后专利暗战升级
智平方、云深处、乐聚扎堆冲刺IPO——资本化元年开启,百亿估值背后专利暗战升级成都余行10000项创新清单,助拟上市企业构建“专利护城河”,赢得资本市场信任2026年,人形机器人产业迎来“资本化元年”。据IT桔子统计,截…...
零基础玩转LiuJuan20260223Zimage:手把手教你用Gradio生成图片
零基础玩转LiuJuan20260223Zimage:手把手教你用Gradio生成图片 1. 认识LiuJuan20260223Zimage 1.1 什么是LiuJuan20260223Zimage LiuJuan20260223Zimage是一个基于Z-Image LoRA微调的文生图模型服务,通过Xinference部署并提供了Gradio交互界面。简单来…...
AudioSeal惊艳效果展示:10米距离录音、电话通话音质下仍可检测水印
AudioSeal惊艳效果展示:10米距离录音、电话通话音质下仍可检测水印 1. AudioSeal音频水印系统概述 AudioSeal是Meta开源的语音水印技术,专为AI生成音频的检测和溯源而设计。这个系统能在各种极端条件下保持水印的可检测性,即使在远距离录音…...
新手必看!AudioSeal蓝图实验室:一键为音频加‘隐形水印’实战教程
新手必看!AudioSeal蓝图实验室:一键为音频加隐形水印实战教程 1. 引言:音频水印技术入门 音频水印技术就像给声音文件打上"数字指纹",在不影响听感的前提下嵌入特定信息。想象一下,你可以在音乐文件中隐藏…...
阿里通义Z-Image-GGUF体验:中英文提示词生成精美图片实测
阿里通义Z-Image-GGUF体验:中英文提示词生成精美图片实测 1. 模型概述与特点 1.1 什么是Z-Image-GGUF Z-Image-GGUF是阿里巴巴通义实验室开源的一款文生图AI模型,基于GGUF量化技术优化,能够在较低显存环境下实现高质量的图像生成。该模型支…...
ISE仿真流程详解:从Verilog代码到Isim仿真的完整指南
1. ISE仿真流程概述 第一次接触FPGA开发的朋友们,常常会被复杂的工具链和仿真流程搞得晕头转向。今天我就以最常用的ISE设计套件为例,手把手带大家走完从Verilog代码编写到Isim仿真的完整流程。这个教程特别适合刚入门FPGA的开发者,我会尽量避…...
Windows 10/11 免费获取 macOS 风格鼠标指针:完整配置指南
Windows 10/11 免费获取 macOS 风格鼠标指针:完整配置指南 【免费下载链接】macOS-cursors-for-Windows Tested in Windows 10 & 11, 4K (125%, 150%, 200%). With 2 versions, 2 types and 3 different sizes! 项目地址: https://gitcode.com/gh_mirrors/ma/…...
高性能客服系统技术内幕:通过 SpinWait 自旋等待结构体提升高频消息分发性能挥
1. 智能软件工程的范式转移:从库集成到原生框架演进 在生成式人工智能(Generative AI)从单纯的文本生成向具备自主规划与执行能力的“代理化(Agentic)”系统跨越的过程中,.NET 生态系统正在经历一场自该平台…...
三步免费检测微信单向好友:WechatRealFriends终极工具使用指南
三步免费检测微信单向好友:WechatRealFriends终极工具使用指南 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFri…...
