一起深度学习

news2024/11/24 19:34:14

CIFAR-10 卷积神经网络

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

下载数据集

 batchsz = 32
    cifar_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_unit
        self.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 = 0
        total_num = 0
        model.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_num
            print(epoch,acc)

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

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

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

相关文章

嵌入式软件天花板是不是不高?

前几天,有个做贴片厂的朋友和我们说,他有个客户,和我们一样,也是技术出身,然后自己做产品,找渠道卖。 当初的方式也很low,也就是某宝,某巴上推。 后面有家外贸公司找到他合作&#x…

如何利用IPIDEA代理IP优化数据采集效率?

一、 前言二、 IPIDEA介绍三、体验步骤四、实战训练五、结语 一、 前言 在全球化与信息化交织的当代社会,数据已成为驱动商业智慧与技术革新的核心引擎。网络,作为信息汇聚与交流的枢纽,不仅是人们获取知识的窗口,更是商业活动与技…

创建SpringBoot3.X项目(使用IDEA2022创建SpringBoot3.X项目)

创建项目 1.点击New Project(新建项目) 项目基本信息 项目依赖 修改项目基本信息 1.修改配置文件类型(按需调整) 一版创建完成的项目都是application.properties配置文件,如果喜欢使用yml的可以直接修改配置文件后…

新建的springBoot WEB项目无法自动返回html模版(gradle+kotlin版本)

最近研究了springBoot创建web项目, 第一步服务端返回字符串没有问题,第二步返回html时,还是返回的字符串。 文章目录 一、参考方案二、新建springBoot web项目三、启动项目的三种方式 一、参考方案 将控制器类的 RestController 改为 Contro…

2024年Q1季度蛋白粉线上市场数据分析:差异化、多元化是主要趋势

近几年,随着全民健身热潮的兴起和公众对健康生活的追求,蛋白粉市场迅速崭露头角,作为一款能够增强免疫力和补充日常营养的产品,受到了广泛的关注和消费群体的青睐。 而今年Q1季度,蛋白粉市场表现不如预期。根据鲸参谋…

音视频开发4 FFmpeg windows 环境搭建,QT 安装,动态库的搜索路径

FFmpeg 为了让所有平台的开发者都能够学习到音视频开发的通用技术,本教程主要讲解跨平台的音视频开发库FFmpeg。其实只要你掌握了FFmpeg,也可以很快上手其他音视频开发库,因为底层原理都是一样的,你最终操作的都是一样的数据&…

网卡自动切换AP和AC模式

AC模式搜索不到WiFi AC模式是指client模式,也就是可以自动接入wifi的模式 参考将外置网卡设置为 AP模式之后,发现搜索不到wifi了 (换了一台ubuntu测试发现可以,所以不是硬件问题) 经过nmcli device status查看设备发…

Redis-五大数据类型-Zset(有序集合)

五大数据类型-Zset(有序集合) 简介 Zset与Set非常相似,是一个没有重复元素的String集合。 不同之处是Zset的每个元素都关联了一个分数(score),这个分数被用来按照从低分到高分的方式排序集合中的元素。集…

电脑睡眠模式怎么设置?5个方法为您延长电脑寿命!

“我在使用电脑时,有时候想给电脑设置睡眠模式,但是不知道应该怎么操作,大家有什么比较实用的方法推荐吗?” 在Windows 10操作系统中,电脑睡眠模式是一种节能模式,当您暂时不使用电脑时,可以选择…

C++初阶之list的使用和模拟以及反向迭代器的模拟实现

个人主页:点我进入主页 专栏分类:C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂 一.list简介 list是一个带头双向链表,在数据结构的时候…

如何通过专业的服务器同步软件,降低IT人员的运维管理压力?

随着企业结构分散化的不断扩大,企业内部和企业间的信息互动更加频繁。越来越多的企业要求内部各种业务数据在服务器、数据中心甚至云上能够有实时的同步留存。所以,企业需要服务器同步软件,通过在两个或更多设备之间同步数据并自动更新更改来…

python软件开发遇到的坑-相对路径文件读写异常,不稳定

1. os.chdir()会影响那些使用相对路径读写文件的程序,使其变得不稳定,默认情况下,当前工作目录是主程序所在目录,使用os.chdir会将当前工作目录修改到其他路径。 资料: python相对路径写对了却报错是什么原因呢? - 知乎 (zhihu.com) 相对文件路径 : r/learnpython (red…

计算机系列之知识产权和标准化

16、知识产权和标准化 ◆知识产权是指公民、法人、非法人单位对自己的创造性智力成果和其他科技成果依法享有的民事权。是智力成果的创造人依法享有的权利和在生产经营活动中标记所有人依法所享有的权利的总称。包含著作权、专利权、商标权、商业秘密权、植物新品种权、集成电…

流畅的python-学习笔记_对象引用、可变性、垃圾回收

变量不是盒子 即变量是引用,而不是实际内存,多个标识赋值相同变量时,多余标识是引用 标识、相等性、别名 比较对象的值,is比较对象的id。实际调用对象的__eq__方法。is速度比快,因为is不能重载,省去了寻…

企业微信和钉钉接口打通对接实战

企业微信和钉钉接口打通对接实战 数据源系统:企业微信 企业微信是腾讯微信团队打造的企业通讯与办公工具,具有与微信一致的沟通体验,丰富的OA应用,和连接微信生态的能力,可帮助企业连接内部、连接生态伙伴、连接消费者。专业协作、…

基于STC12C5A60S2系列1T 8051单片机的IIC通信的0.96寸4针OLED12864显示大小写英文的应用

基于STC12C5A60S2系列1T 8051单片机的IIC通信的0.96寸4针OLED12864显示大小写英文的应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍液晶显示器OLED12864简单介绍一…

leetcode295. 数据流的中位数

class MedianFinder {//A为小根堆&#xff0c;B为大根堆List<Integer> A,B;public MedianFinder() {A new ArrayList<Integer>();B new ArrayList<Integer>();}public void addNum(int num) {int m A.size(),n B.size();if(m n){insert(B,num);int top …

2024年第十三届工程与创新材料国际会议(ICEIM 2024)即将召开!

2024年第十三届工程与创新材料国际会议&#xff08;ICEIM 2024&#xff09;将于2024年9月6-8日在日本东京举行。ICEIM 2024由东京电机大学主办&#xff0c;会议旨在材料科学与工程、材料特性、测量方法和应用等相关领域进行学术交流与合作&#xff0c;在材料的微观世界里&#…

大坝安全监测站

TH-WY1 GNSS位移监测站在大坝安全监测中的应用具有重要意义。通过实时监测、高精度测量、高度自动化和多种数据融合等技术手段&#xff0c;GNSS位移监测站为大坝安全监测提供了强有力的支持。下面为大家介绍GNSS位移监测的作用&#xff1a; 实时监测&#xff1a;GNSS位移监测站…

Vitis HLS 学习笔记--AXI_STREAM_TO_MASTER

目录 1. 简介 2. 示例 2.1 示例功能介绍 2.2 示例代码 2.3 顶层函数解释 2.4 综合报告&#xff08;HW Interfaces&#xff09; 2.5 关于TKEEP和TSTRB 2.6 综合报告&#xff08;SW I/O Information&#xff09; 3. 总结 1. 简介 本文通过“<Examples>/Interface…