神经网络——CIFAR10小实战

news2024/9/20 7:57:01

1.引子

在这里插入图片描述
在这里插入图片描述

Sequential的使用:将网络结构放入其中即可,可以简化代码。
找了一个对CIFAR10进行分类的模型。

2.代码实战

from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear

class Tudui(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.conv1 = Conv2d(3, 32, 5, padding=2)
        self.maxpool1 = MaxPool2d(2)
        self.conv2 = Conv2d(32, 32, 5, padding=2)
        self.maxpool2 = MaxPool2d(2)
        self.conv3 = Conv2d(32, 64, 5, padding=2)
        self.maxpool3 = MaxPool2d(2)
        self.flatten = Flatten()
        self.linear1 = Linear(1024, 64)
        self.linear2 = Linear(64, 10)

    def forward(self, x):
        x = self.conv1(x)
        x = self.maxpool1(x)
        x = self.conv2(x)
        x = self.maxpool2(x)
        x = self.conv3(x)
        x = self.maxpool3(x)
        x = self.flatten(x)
        x = self.linear1(x)
        x = self.linear2(x)
        return x

tudui=Tudui()
print(tudui)

在这里插入图片描述

nn.Flatten()和torch.flatten()有相同的效果。

3.Sequential

import torch
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequential


class Tudui(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.model1=Sequential(
            Conv2d(3,32,5,padding=2),
            MaxPool2d(2),
            Conv2d(32,32,5,padding=2),
            MaxPool2d(2),
            Conv2d(32,64,5,padding=2),
            MaxPool2d(2),
            Flatten(),
            Linear(1024,64),
            Linear(64,10)
        )

    def forward(self, x):
        x=self.model1(x)
        return x

tudui=Tudui()
print(tudui)
## 创建一个指定形状的 ones 张量
input=torch.ones((64,3,32,32))
output=tudui(input)
print(output.shape)

使用Sequential可以很大程度地简化代码。

4.利用TensorBoard进行数据可视化

使用SummaryWriter的add_graph()方法进行数据可视化。

writer=SummaryWriter("logs_sqe")
writer.add_graph(tudui,input)
writer.close()

在这里插入图片描述

基本的网络搭建到此结束。

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

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

相关文章

SOMEIP_ETS_069: Unaligned_SOMEIP_Messages_overUDP

测试目的: 验证设备(DUT)能够处理在单个UDP包中发送的三个SOME/IP消息,并且即使其中一个SOME/IP消息未对齐,DUT仍能对所有三个请求给出正确的响应。 描述 本测试用例旨在检查DUT在通过UDP协议接收到包含一个未对齐S…

【Pytorch】Linear 层,举例:相机参数和Instance Feaure通过Linear层生成Group Weights

背景 看论文看到这个pipeline,对于相机参数和Instance Fature 的融合有点兴趣,研究如下: Linear 层 Linear 层是最基本的神经网络层之一,也称为全连接层。它将输入与每个输出神经元完全连接。每个连接都有一个权重和一个偏置。…

inflight 守恒算法负反馈解析

终于说到这个话题了。 bbr 不好吗,我自己也做过很多关于 bbr 的仿真验证,现网数据分析以及数学建模,结论均指向 bbr 是一个公平高效且天然不会引发 bufferbloat 的算法,但细节值得商榷: 非理想哑铃拓扑下测量误差的叠…

Dubbo3框架概述

1 什么是分布式系统? 《分布式系统原理与范型》定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统” 分布式系统(distributed system)是建立在网络之上的软件系统。 简单来说:多个(不同职责)人共同来完成一件事! 任何一台服务器都无法…

Dockerfile+私有仓库

使用Dockerfile创建应用镜像 在Docker file中定义所需要执⾏的指令,使⽤ docker build创建镜 像,过程中会按照dockerfile所定义的内容进⾏打开临时性容器,把docker file中命令全部执⾏完成,就得到了⼀个容器应⽤镜像,每…

PHP-开发工具下载-配置-使用

.1.下载 使用各种人工智能工具推荐的php免费开发工具。 文心一言推荐的工具 讯飞星火的回答 kimi的回答 根据自己的了解,最终选择vscode这款开发工具。 .2.配置 文心一言的回答 讯飞星火的回答 kimi的回答 最终选择使用PHP Debug 插件来支持。 安装中文插件。 …

NASA数据集:MetOp-A ASCAT 第 2 级海洋表面风矢量,针对沿岸海洋进行了优化

MetOp-A ASCAT Level 2 Ocean Surface Wind Vectors Optimized for Coastal Ocean 简介 该数据集包含 MetOp-A 上的高级散射计(ASCAT)以 12.5 公里采样分辨率(注:有效分辨率为 25 公里)进行的近实时 2 级沿岸海面风矢…

实战OpenCV之图像的数学运算

基础入门 在OpenCV中,图像的数学运算是一种基本而强大的工具,可以用于多种图像处理任务,包括:图像增强、图像融合、特征提取等。这些运算包括加法、减法、乘法和除法等基本的数学操作。 加法运算:可以用来合并两个图像…

【JS】卢小姐排队问题(100) |思路参考+代码解析(C++)

题目 LYA 的班级要进行一次班级活动,全班同学按照学号从小到大排成一列。但是卢小姐来晚了,没有来得及排队。现在卢小姐想知道,她应该插入到队列的哪个位置,才能保证队列仍然是按照学号从小到大排列的。请你帮助卢小姐找到她应该…

微服务框架之Kitex

Kitex: 高性能的 Golang 微服务框架 Kitex 是由字节跳动(ByteDance)开发并开源的一款高性能微服务框架,专为构建分布式系统和微服务架构设计。Kitex 基于 Golang,旨在提供一个简单、高效、灵活的开发体验,帮助开发者快…

ST表(区间查询

解决的问题&#xff1a; 数组区间查询最大值和最小值对于解决数组的树状数组的区间修改 ------- 线段树倍增思想 核心代码&#xff1a; #include<bits/stdc.h> using namespace std; const int N1e5; int num[N]; int f[N][N]; int main(){int n;cin>>n;//输入默…

无线通信频率分配

首先看看无线电信号的频谱如何划分&#xff1a; 一、5G NR 3GPP已指定5G NR 支持的频段列表&#xff0c;5G NR频谱范围可达100GHz&#xff0c;指定了两大频率范围&#xff1a; ① Frequency range 1 &#xff08;FR1&#xff09;&#xff1a;就是我们通常讲的6GHz以下频段 频率…

Lesson07---STL简介(了解)

1. 什么是STL 2. STL的版本 3. STL的六大组件 4. STL的重要性 5. 如何学习STL 6.STL的缺陷 1. 什么是STL STL(standard template libaray- 标准模板库 ) &#xff1a; 是 C 标准库的重要组成部分 &#xff0c;不仅是一个可复用的组件库&#xff0c;而且 是一个包罗数据结构与…

【网络】P2P打洞原理

本文首发于 ❄️慕雪的寒舍 1. 引入 如果你折腾过NAS或者BT下载等等玩意&#xff0c;可能听说过“P2P打洞”这一技术名词。简单来说&#xff0c;P2P打洞可以让我们直接在外网访问内网的设备&#xff0c;从而让没有公网IP的家庭设备也能获得“公网直连”的速度。 比如绿联、极…

【JAVA]DAY 2在网页中输出日期和时间,实时还是静止?

一、如何输出日期文本 使用document.write(Date()); 会在网页中输出当前的日期和时间。在 2024 年 8 月 28 日星期三执行这段代码&#xff0c;可能会输出类似 “Wed Aug 28 2024 [具体时间]” 这样的内容。 Date()是 JavaScript 中的一个内置对象&#xff0c;用于处理日期和…

【机器学习】数据预处理-特征工程与特征选择

目录 一、特征工程 二、数据变换 1.变换 2.归一化 三、数据清洗 1.异常数据 2.数据清洗 四、特征选择 1.Filter过滤法 2.Wrapper包裹法 ... 3.Embedded嵌入法 ... 五、降维算法 1.SVD 2.PCA 一、特征工程 特征工程就是从原始数据提取特征的过程&#xff0c;这些…

免费可商用插画素材网站

1、https://undraw.co/illustrations 2、https://iradesign.io/ 3、https://storyset.com/ 4、https://delesign.com/free-designs/graphics/

【Linux篇】三分钟速通Linux基础命令

目录 1. Linux的目录结构 1.1 Linux的目录结构 1.2 /在Linux系统中的表示 2. linux命令基础 2.1 什么是命令和命令行 2.2 Linux命令的通用格式 2.3 ls命令 2.3.1 ls命令的参数的作用&#xff1a; 2.3.2 ls命令的选项 2.3.3 命令的选项组合使用 2.4 cd切换工作目录 2…

宋志平《有效的经营者》首发 高质量经营与企业高质量发展读书分享会圆满举办

走遍人生繁华&#xff0c;醉美江南水乡。8月25日&#xff0c;“美好生活&#xff0c;书香中国”城市行第七站——杭州站&#xff0c;在杭州市兴耀科创城•杭州双碳技术产业园圆满举办。本次活动以高质量经营与企业高质量发展读书分享会为主题&#xff0c;旨在深入推进全民阅读&…

Java基础(泛型)

文章目录 前言 一、泛型类的定义 1.1 泛型类的定义语法 1.2 代码使用示例 二、泛型类的使用语法 2.1 使用语法 2.2 泛型类注意事项 2.3 泛型类的使用小案例 三、从泛型类派生子类&#xff08;2种情况&#xff09; 3.1 子类和父类的泛型类型要保持一致 3.2 子类没有使用…