一起深度学习

CIFAR-10 卷积神经网络

  • 下载数据集
  • 构建网络
  • 运行测试

下载数据集

 batchsz = 32cifar_train= datasets.CIFAR10('data',train=True,transform=torchvision.transforms.Compose([torchvision.transforms.Resize((32,32)),torchvision.transforms.ToTensor()]),download=True)cifar_train = DataLoader(cifar_train,batch_size=batchsz,shuffle=True)cifar_test= datasets.CIFAR10('data',train=False,transform=torchvision.transforms.Compose([torchvision.transforms.Resize((32,32)),torchvision.transforms.ToTensor()]),download=True)cifar_test = DataLoader(cifar_test,batch_size=batchsz,shuffle=True)

构建网络

新建一个lenet5

import torch
from torch import nn
from torch.nn import functional as F
class Lenet5(nn.Module):def __init__(self):super(Lenet5,self).__init__()self.conv_unit = nn.Sequential(# x :[b,3,32,32] => [b,6,]nn.Conv2d(3,6,5,1),  #卷积层#subsamping  池化层nn.AvgPool2d(kernel_size=2,stride=2,padding=0),#nn.Conv2d(6,16,5,1,0),nn.AvgPool2d(kernel_size=2,stride=2,padding=0))#flatten#fc_unitself.fc_unit = nn.Sequential(nn.Linear(16*5*5,120),nn.ReLU(),nn.Linear(120,84),nn.ReLU(),nn.Linear(84,10))# self.criten = nn.CrossEntropyLoss()def forward(self,x):bachsz = x.size(0) #获取样本数量x = self.conv_unit(x)x = x.view(bachsz,16*5*5)logits = self.fc_unit(x)  #获取输出标签return logits

运行测试

   device  = torch.device('cuda') #使用gpu运行model = Lenet5().to(device)  #实例化网络criten = nn.CrossEntropyLoss().to(device)  #使用交叉熵optimizer = optim.Adam(model.parameters(),lr=1e-3)  #采用Adam及逆行优化参数for epoch in range(1000):for batchidx,(x,lable) in enumerate(cifar_train):x,lable = x.to(device),lable.to(device)logits = model(x)  #获得预测输出标签值loss = criten(logits,lable) #计算损失值optimizer.zero_grad() #将梯度归零loss.backward() #方向传播optimizer.step() #优化参数print(epoch,loss.item())total_correct = 0total_num = 0model.eval()  with torch.no_grad():  #表示不需要求梯度for x,label in cifar_test:x,label = x.to(device),label.to(device)logits = model(x)pred = logits.argmax(dim=1)  获取预测值total_correct += torch.eq(pred,label).float().sum().item()total_num += x.size(0)acc = total_correct /total_numprint(epoch,acc)

网络图如下:
在这里插入图片描述

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

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

相关文章

数据结构-线性表-应用题-2.2-6

从有序顺序表中删除所有其值重复的元素,使表中的元素的值均不同 有序顺序表,值相同的元素一定在连续的位置上,初始时将第一个元素是为非重复的有序表,之后依次判断后面的元素是否与前面的非重复表的最后一个元素相同,…

【北京迅为】《iTOP-3588开发板快速烧写手册》-第3章 烧录完整升级固件update.img

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

STM32控制DS1302时钟模块获取实时时间

欢迎入群共同学习交流 时间记录:2024/4/30 一、知识点 (1)读写数据时序(伪SPI协议) 1.1 读写时序默认电平均为SCLK线低电平,CE线低电平 1.2 写数据,CE线拉高为高电平,开始传输数据…

Flutter笔记:美工设计.导出视频到RIVE

Flutter笔记 美工设计.导出视频到RIVE - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28…

华为eNSP中型企业局域网网络规划设计(上)

敲半天一个闪退全™给我干没了呜呜呜,eNSP,wcnm!wcnm!wcnm! →b站传送门,感谢大佬← →华为eNSP中型企业局域网网络规划设计(下)← →拓扑图传送门,可以自己配置着玩←…

Vue从入门到实战Day01

一、Vue快速上手 1. vue概念 概念:Vue是一个用于 构建用户界面的 渐进式 框架 构建用户界面:基于数据动态渲染页面渐进式:循序渐进的学习框架:一套完整的项目解决方案,提升开发效率 优点:大大提升开发效…

【Debug日记】albumentations包安装失败解决方案

直接pip安装pip install albumentations 报错: ERROR: Command errored out with exit status 1:command: D:\anaconda3\envs\pytorch\python.exe D:\anaconda3\envs\pytorch\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py build_wheel C:\Users…

责任链模式和观察者模式

1、责任链模式 1.1 概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导…

C语言——每日一题(轮转数组)

一.前言 前不久学习了时间复杂度的概念,便在力扣上刷了一道需要参考时间复杂度的题——轮转数组 https://leetcode.cn/problems/rotate-array/submissions这道题不能使用暴力算法,因为这道题对时间复杂度的要求不能为O(N^2)。因…

Tansformer原理解读

什么是注意力机制 生物学中的注意力机制是指人类或动物能够选择性地将感知和认知资源集中到某些信息或任务上的能力。这种能力允许我们在众多信息的背景中过滤出重要的信息,并将这些信息传递给相应的神经元进行处理。 本质:能从中抓住重点,…

一个好用的短链接都需要具备哪些功能?

大家好,今天我们将会来聊聊一款优秀的短链接,都需要具备的功能,看看是不是你想要的呢? 1. 能够支持自定义域名 现在越来越多的用户都不会选择公用域名了,因为那样风险太大,而会选择用一个他们自己的专用域…

自动控制原理MATLAB:系统分析

控制系统时域分析 (1)稳定性分析 稳定是控制系统的重要性能,也是系统设计过程中的首要问题。线性系统稳定的充分必要条件是:闭环系统特征方程的所有根均具有负实部。在MATLAB中可以调用roots命令求取特征根,进而判别…

C#实战—代码实现收发文件智能化

在信息化的今天,收发电子文档几乎是每个朋友都要经历的事情。比如班级学委和班长需要收发作业,企业管理者需要收发工作文件。但是!!! 每到要交结果时,往往会发现总会有一些人没有即使交上,50个…

8W 1.5KVDC 隔离宽电压输入 DC/DC 电源模块——TP08DA 系列

TP08DA系列电源模块额定输出功率为8W,外形尺寸为31.80*20.30*10.00,应用于2:1,4:1电压输入范围 9-18V,18-36V,36-72V9V-36V和18V-72VDC的输入电压环境,输出电压精度可达1%,具有输出短路保护等功能&#xff…

图卷积神经网络GCN

计算图 通过消息传递的框架构建一个局部邻域的计算图 每个节点分别构建自己的计算图 理论上任意深度,根据六度空间理论,层数一般不会超过六层 基本过程 数学形式 矩阵表示 代码表示 图计算改进 能够听见自己内心的声音 最终形式 如何训…

windows端口复用

1. 概述 使用 HTTP.sys 中的 Net.tcp Port Sharing 服务,配合 WinRM 实现端口复用。 优点: HTTP.sys 为 windows 原生机制, WinRM 为 windows 自带功能,动作较小,不易触发主 动防御。 需要管理员权限。 2. 原理 (…

鞋店小程序商城的作用是什么

鞋与服装一样其购买/复购属性都非常足,每个人生活所需无疑促进了品牌多样化、工厂/店铺商家/个人都有很多,其目的都是为了品牌宣传和将更多货卖给下游/客户。 对消费者来说,买鞋渠道线上线下选择比较多,普遍会以品牌为主&#xf…

✬ ✬ ✬ 宁波推进ISO14000认证:共创美好生态家园✬ ✬ ✬

🌈🌈宁波推进ISO14000认证,🍉共创美好生态家园🤩 😃哇!宁波这个大都市🍓真的在努力推进🚈ISO14000认证啊!🚵‍♀️作为一个环保爱好者&#xff0…

文本批量操作实例:如何实现文本批量拆分?实用方法与技巧分享

在文本处理和数据分析的过程中,我们经常会遇到需要批量拆分大量文本数据的情况。文本批量拆分能够大大提高工作效率,减少重复劳动。下面,我们将通过一个实例来介绍如何实现文本批量拆分,并分享一些实用方法与技巧。 一、实例背景 …

U盘管控软件,禁止员工用U盘拷贝机密数据,防止信息通过U盘泄露

随着信息技术的不断发展,U盘等便携式存储设备已成为我们日常工作中不可或缺的工具。然而,随着U盘的普及,企业面临的信息泄露风险也在不断增加。为了确保企业的信息安全,许多企业开始采用U盘管控软件,禁止员工使用U盘拷…