神经网络搭建(1)----nn.Sequential

news2024/11/24 17:37:39

神经网络模型构建

采用CIFAR10中的数据,并对其进行简单的分类。以下图为例

输入:3通道,32×32 ( 经过一个5×5的卷积)
→ 变成32通道,32×32的图像 (经过2×2的最大池化)
→ 变成32通道,16×16的图像 ( 经过一个5×5的卷积)
→ 变成32通道,16×16的图像 (经过2×2的最大池化)
→ 变成32通道,8×8的图像 ( 经过一个5×5的卷积)
→ 变成64通道,8×8的图像(经过2×2的最大池化)
→ 变成64通道,4×4的图像
→ 把图像展平(Flatten)(变成64通道,1×1024 (64×4×4) 的图像)
→先通过一个线性层Linear(in_features=64 * 4 * 4, out_features=64)
→再经过一个线性层Linear(64, 10)→ 得到最终图像

以上就是一个神经网络模型的构建

神经网络中的参数设计及计算

卷积层的参数设计(以第一个卷积层conv2为例)

  • 输入图像为3通道,输出图像为32通道,故:in_channels=3,  out_channels=32
  • 卷积核尺寸为 kernel_size=5  (5*5)

  • 图像经过卷积层conv2前后的尺寸均为32×32,根据公式:

可得:
 

即:

若stride[0]或stride[1]设置为2,那么上面的padding也会随之扩展为-个很大的数,这很不合理。所以这里设置: stride[0] = stride[1] = 1,由此可得: padding[0] = padding[1]= 2

其余卷积层的参数设计及计算方法均同上

最大池化操作的参数设计(以第一个池化操作maxpool为例)

根据计算神经网络 torch.nn---Pooling layers(nn.MaxPool2d)-CSDN博客

可以得到卷积核尺寸为 kernel_size=2

其他参数为默认值

线性层的参数设计

  • 通过三次卷积和最大池化操作后,图像尺寸变为64通道4×4。之后使用Flatten()函数将图像展成一列,此时图像尺寸变为:1×(64×4×4),即1×1024

  • 因此,之后通过第一个线性层,(in_features=64 * 4 * 4, out_features=64)

  • 第二个线性层,(in_features=64 , out_features=10)

程序代码

import torch
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Linear, Sequential, Flatten
from torch.utils.tensorboard import SummaryWriter

class Tudui(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.model = Sequential(
            Conv2d(3, 32, kernel_size=5, padding=2),
            MaxPool2d(kernel_size=2),
            Conv2d(32, 32, kernel_size=5, padding=2),
            MaxPool2d(kernel_size=2),
            Conv2d(32, 64, kernel_size=5, padding=2),
            MaxPool2d(kernel_size=2),
            Flatten(),
            Linear(in_features=64 * 4 * 4, out_features=64),
            Linear(64, 10)
        )

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

tudui = Tudui()
print(tudui)

input = torch.ones(64, 3, 32, 32)
output = tudui(input)
print(output.shape)

# 可视化神经网络 
writer = SummaryWriter('logs')
writer.add_graph(tudui, input)
writer.close()

这样就可以清晰地看到神经网络的相关参数

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

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

相关文章

电商售后常见的客服快捷语

在电商行业,优质的客户服务体验是留住顾客、建立品牌信誉的关键。面对多样化的售后请求,如何高效、准确地回应顾客,成为每个客服团队必须面对的挑战。今天,我给大家分享一些电商售后常见的客服快捷语,帮助客服人员提高…

AIGC 011-SAM第一个图像分割大模型-分割一切!

AIGC 011-SAM第一个图像分割大模型-分割一切! 文章目录 0 论文工作1论文方法2 效果 0 论文工作 这篇论文介绍了 Segment Anything (SA) 项目,这是一个全新的图像分割任务、模型和数据集。SA 项目是一个具有里程碑意义的工作,它为图像分割领域…

网络安全:https劫持

文章目录 参考https原理https窃听手段SSL/TLS降级原理难点缺点 SSL剥离原理发展缺点前端劫持 MITM攻击透明代理劫持 参考 https原理 SNI 浏览器校验SSL证书 https降级 https握手抓包解析 lets encrypt申请证书 https原理 步骤如下: 客户端向服务器发送https请求。…

Java大文件上传、分片上传、多文件上传、断点续传、上传文件minio、分片上传minio等解决方案

一、上传说明 文件上传花样百出,根据不同场景使用不同方案进行实现尤为必要。通常开发过程中,文件较小,直接将文件转化为字节流上传到服务器,但是文件较大时,用普通的方法上传,显然效果不是很好&#xff0c…

docker 拉取不到镜像的问题:拉取超时

error pulling image configuration: download failed after attempts6: dial tcp 31.13.94.10:443: i/o timeout 首先设置国内的镜像源&#xff1a;复制下面直接执行 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF{"registry-mirrors"…

k8s学习--Secret详细解释与应用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Secret什么是Secret?Secret四种类型及其特点Secret应用案例&#xff08;1&#xff09;将明文密码进行base64编码&#xff08;2&#xff09;编写创建secret的YAML文…

【人工智能003】图像识别算法模型常见术语简单总结(已更新)

1.熟悉、梳理、总结数据分析实战中的AI图像识别等实战研发知识体系&#xff0c;这块领域很大&#xff0c;需要耗费很多精力&#xff0c;逐步总结、更新到位&#xff0c;&#xff0c;&#xff0c; 2.欢迎点赞、关注、批评、指正&#xff0c;互三走起来&#xff0c;小手动起来&am…

心理咨询系统|心理咨询系统成品开发功能

心理咨询系统开发后端设计是一个复杂且精细的过程&#xff0c;涉及多个关键领域的专业知识和技术。本文将详细探讨心理咨询系统开发后端设计的各个方面&#xff0c;包括系统架构、数据库设计、接口开发、安全性保障以及性能优化等。 首先&#xff0c;我们来谈谈系统架构。在心理…

贝锐蒲公英异地组网:降低建筑工地远程视频监控成本、简化运维

中联建设集团股份有限公司是一家建筑行业的施工单位&#xff0c;专注于建筑施工&#xff0c;业务涉及市政公用工程施工总承包、水利水电工程施工总承包、公路工程施工总承包、城市园林绿化专业承包等&#xff0c;在全国各地开展有多个建筑项目&#xff0c;并且项目时间周期可能…

mac M1下安装PySide2

在M1下装不了PySide2, 是因为PySide2没有arm架构的包 1 先在M1上装qt5 安装qt主要是为了能用里面的Desinger, uic, rcc brew install qt5 我装完的路径在/opt/homebrew/opt/qt5 其中Designer就是用来设计界面的 rcc用resource compiler, 编绎rc资源文件的, 生成对应的py文件…

深入了解 C 语言 Bug

目录 一、引言二、Bug的定义三、Bug的由来四、Bug的影响五、应对 Bug 的方法六、结论 一、引言 1、在 C 语言的编程世界中&#xff0c;Bug 是一个我们无法回避的话题。 2、Bug&#xff0c;简单来说&#xff0c;就是程序中存在的错误或缺陷。它可以表现为程序运行结果的异常、崩…

ESP8266在阿里云上线(arduino)

电脑连接上ESP8266的板子 在arduino编写代码&#xff08;arduino按照之前的配置&#xff0c;已安装好esp的开发板和几个库ArduinoJson我选了5.的版本&#xff0c;PubSubclient,Crypto,AliyunIoTSDK并且修改pubsubclient的参数&#xff09; 在项目&#xff0c;加载库&#xff0c…

【ai】DeepStream 简介

NVIDIA Metropolis 平台。 NVIDIA 大都会 利用视觉 AI 将来自数万亿物联网设备的数据转化为有价值的见解。 NVIDIA Metropolis 是一个应用程序框架、一套开发工具和合作伙伴生态系统,它将视觉数据和 AI 结合在一起,以提高各行各业的运营效率和安全性。它有助于理解数万亿个…

【轻量化】YOLOv10: Real-Time End-to-End Object Detection

论文题目&#xff1a;YOLOv10: Real-Time End-to-End Object Detection 研究单位&#xff1a;清华大学 论文链接&#xff1a;http://arxiv.org/abs/2405.14458 代码链接&#xff1a;https://github.com/THU-MIG/yolov10 推荐测试博客&#xff1a;YOLOv10最全使用教程&#xff0…

可视化数据科学平台在信贷领域应用系列三:特征组合

现代各企业都提倡“降本增效”&#xff0c;所以越来越多优秀的工具诞生了。若想在特征加工这块工作上提升效率&#xff0c;建模人员也能有更多时间“偷懒”&#xff0c;都 “Sora”时代了&#xff0c;为啥不巧用工具呢&#xff1f;RapidMiner在信贷风控特征加工组合中是一把利器…

图像算法---自动曝光AE

一&#xff0c;自动曝光AE 自动曝光&#xff08;AE&#xff0c;全称Auto Exposure&#xff09;是一种在摄影和摄像中广泛使用的技术&#xff0c;它允许相机或摄像机根据环境光线条件自动调整曝光参数&#xff0c;以获得清晰、亮度适中的图像或视频。以下是关于自动曝光AE的详细…

LabVIEW的大气环境实时监测

LabVIEW的大气环境实时监测 设计并实现了一个基于LabVIEW的大气环境实时监测系统。通过使用高精度环境传感器采集温度、湿度、PM2.5、CO2等环境数据&#xff0c;利用LabVIEW进行数据处理、显示和存储。该系统能够实时监控环境参数&#xff0c;并通过阈值报警功能提示异常&…

60万路由器一夜瘫痪,美国遭遇神秘网络攻击大灾难;木马肆虐俄罗斯,关键信息基础设施惨遭毒手!Oracle漏洞被利用,CISA紧急行动!| 安全周报0606

新闻1&#xff1a;欧洲警报&#xff1a;俄GRU支持APT28发动HeadLace恶意软件攻击&#xff01; 俄罗斯GRU支持的威胁行为者APT28被认为在一系列活动中负责&#xff0c;这些活动使用HeadLace恶意软件和收集凭证的网页针对欧洲各地的网络。 APT28&#xff0c;也被称为BlueDelta、…

springboot undertow 文件上传文件过大异常

io.undertow.server.RequestTooBigException: UT000020 Connection terminated as request was larger than xxxx 修改yaml文件中关于undertow的配置项 server:undertow:# HTTP POST请求最大的大小# 默认0&#xff0c;无限制max-http-post-size: ${SERVER_UNDERTOW_MAX_HTTP_…

比较FITC-BSA与未标记BSA在生物活性方面的差异

牛血清白蛋白&#xff08;BSA&#xff09;作为一种诸多使用的生物化学试剂&#xff0c;在生物学和医学领域发挥着作用。然而&#xff0c;为了研究BSA在生物体内的行为以及与其他分子的相互作用&#xff0c;科学家们常常需要对其进行荧光标记&#xff0c;其中FITC-BSA便是常见的…