2. 卷积神经网络无法绕开的神——LeNet

卷积神经网络无法绕开的大神——LeNet

  • 1. 基本架构
  • 2. LeNet 5
  • 3. LeNet 5 代码

1. 基本架构

在这里插入图片描述

  • 特征抽取模块
  • 可学习的分类器模块

2. LeNet 5

在这里插入图片描述

  • LeNet 5: 5 表示的是5个核心层,2个卷积层,3个全连接层.
  • 核心权重层:卷积层、全连接层、循环层,Batchnorm / Dropout 这些都属于附属层。
  • Convolutions, 32×32 → 28×28:卷积过后,图像像素损失了4个,是因为 kernal_size是5×5. 那个年代是不补零的。
  • Subsampling: 亚采样,也叫池化层,池化一次,图像大小缩小一般,层数不变。
  • 卷积负责把图像层数变得越来越多,池化负责把图像变得越来越小。最后使用全连接,输出类别。

3. LeNet 5 代码

import torch
from torch import nnclass ConvBlock(nn.Module):"""一层卷积:- 卷积层- 批规范化层- 激活层"""def __init__(self, in_channels, out_channels, kernel_size=3, stride=1, padding=1):super().__init__()self.conv = nn.Conv2d(in_channels=in_channels, out_channels=out_channels,kernel_size=kernel_size, stride=stride,padding=padding)self.bn = nn.BatchNorm2d(num_features=out_channels)self.relu = nn.ReLU()def forward(self, x):x = self.conv(x)x = self.bn(x)x = self.relu(x)return xclass LeNet(nn.Module):def __init__(self):super().__init__()# 1, 特征抽取部分self.feature_extractor = nn.Sequential(# 卷积层1ConvBlock(in_channels=1, out_channels=6, kernel_size=5,stride=1,padding=0),# 亚采样(池化)nn.MaxPool2d(kernel_size=2, stride=2, padding=0),# 卷积层2ConvBlock(in_channels=6, out_channels=16, kernel_size=5,stride=1,padding=0),# 亚采样(池化)nn.MaxPool2d(kernel_size=2, stride=2, padding=0),)# 2, 分类self.classifier = nn.Sequential(nn.Flatten(),nn.Linear(in_features=400, out_features=120),nn.ReLU(),nn.Linear(in_features=120, out_features=84),nn.ReLU(),nn.Linear(in_features=84, out_features=10))def forward(self, x):# 1, 提取特征x = self.feature_extractor(x)# 2, 分类输出x = self.classifier(x)return xif __name__ == "__main__":model = LeNet()print(model)x = torch.randn(1, 1, 32, 32)y = model(x)print(y.shape)

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

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

相关文章

093、Python操作Excel生成统计图表

在Excel里做统计表是我们经常会做的一件事情。我们也可以通过编程的方式操作Excel生成统计图表。 下面是官方的一个很有参考价值的案例: from openpyxl import Workbook from openpyxl.chart import BarChart, Reference from copy import deepcopywb Workbook(w…

生活实用英语口语“拆迁”用英文怎么说?柯桥成人学英语到蓝天广场

● 1. “拆迁”英语怎么说? ● 01. 其实国外也有拆迁 但国外的拆迁,只管拆 不管安置,你爱去哪去哪 英文可以说 housing removal 02. 但我们中国的“拆迁” 既管“拆”也管“迁” (还是中国人幸福~) 英文可以说 housin…

车载录像机给公交公司管理带来哪些好处

一、引言 随着社会的快速发展,公共交通日益成为人们出行的主要方式之一。对于公交公司而言,如何有效管理车辆及司乘人员,确保行车安全、服务质量以及乘客的合法权益,成为一项重要的任务。本文将从以下几个方面详细阐述管理效果的…

排查C++软件异常的常见思路与方法(实战经验总结)

目录 1、概述 2、常用的C++异常排查思路与方法 2.1、IDE调试 2.1.1、Debug和Release下的调试 2.1.2、VS附加到进程调试 2.1.3、Windbg附加到进程调试 2.2、添加日志打印 2.3、分块注释代码 2.4、数据断点 2.5、历史版本比对法 2.6、Windbg静态分析与动态调试 2.6.1…

7.24 补题

C 小w和大W的决斗 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 小w和大W为了比出谁更聪明。决定进行一场游戏。游戏内容如下: 两人轮流操作,小w先进行操作,每次操作可以选择下列两个其一: 选择数组中的一…

websocket通信问题排查思路

websocket通信问题排查思路 一、websocket连接成功,但数据完全推不过来。 通过抓包发现,是回包时间太长超过了1分钟导致的。这种通常是推送数据的线程有问题导致的。 正常抓包的情况如下: 二、大量数据可以正常推送成功,不定时…

【机器学习】机器学习之多变量线性回归-Multiple_Variable_Soln

引言 扩展数据结构和之前开发的例程,以支持多个特征。有几个例程被更新,使得实验看起来有些冗长,但实际上只是对之前的例程进行了小的调整,因此快速回顾是可行的 文章目录 引言一、多变量线性回归1.1 目标1.2 工具 二、问题陈述2.…

【因数之和】python求解方法

输入两个整数A和B,求A的B次方的因子和,结果对1000000007取模。 def mod_exp(base, exp, mod):result 1while exp > 0:if exp % 2 1:result (result * base) % modbase (base * base) % modexp // 2return resultdef sum_of_factors(n):total 0…

【无标题】shell脚本的基本命令+编写shell脚本

shell脚本 一.shell基础 1.shell概念 2.shell脚本 3.shell脚本编写注意事项 二.编写shell脚本 1.编写一个helloworld脚本,运行脚本 [rootshell ~]# vim helloworld.sh #!/bin/bash //声明 echo "hello world!" ls -lh /etc/ 运行脚本(四种方式)&…

c/c++的内存管理(超详细)

一、c/c的内存分布 这是操作系统中对于内存的划分: 我们重点掌握以下几个区域即可: 1.栈 (调用函数会建立栈帧) 2.堆(动态开辟的空间) 3.数据段(静态区):存放静态变量以及全局变量 4.代码段 (常量区) 先来看看一个题目: int…

[物联网专题] RS485继电器输出之Modbus控制流程和时间优化分析

在工控领域,往往需要大量的输入信号和输出控制信号,以接收各种传感信号和产生输出控制动作。由于PLC的输出触点数量有限,或者因为更多输出触点的PLC价格昂贵,性价比并不高。为了解决这个矛盾,基于MODBUS协议的继电器IO…

数据结构:基础概念

一、相关概念 概念 相互之间存在一种或多种特定关系的数据元素的集合。 逻辑结构 集合:所有数据在同一个集合中,关系平等。 线性:数据和数据之间是一对一的关系 树: 一对多 图:多对多 物理结构(在内存当中的存储关系)…

AC695x BLE OTA调试

SDK版本:AC695N_soundbox_sdk_release_3.1.0AC695x SDK支持BLE OTA升级,使用杰理公版APP升级即可。SDK需要做一些调整,板级文件需要增加如下配置,使能OTA升级 #define TCFG_APP_BT_EN 1#define APP_UPDATE_EN …

Three.js动效(第09辑):令人瞠目结舌的交互效果,沉浸式体验

three.js能够实现各种3D动态效果,不禁有小伙伴问了,实现这些效果到底有什么意思,其实最大的意义就是给用户沉浸式的体验,瞬间专注用户注意力。 Three.js能够带来以下沉浸式体验: 3D虚拟现实体验: 使用Th…

MATLAB-bode图编程

num[1 1];den [2 1];tf(num,den)bode(tf(num,den));hold on

PHP8.3.9安装记录,Phpmyadmin访问提示缺少mysqli

ubuntu 22.0.4 腾讯云主机 下载好依赖 sudo apt update sudo apt install -y build-essential libxml2-dev libssl-dev libcurl4-openssl-dev pkg-config libbz2-dev libreadline-dev libicu-dev libsqlite3-dev libwebp-dev 下载php8.3.9安装包 nullhttps://www.php.net/d…

Bert文本分类和命名实体的模型架构剖析

文章目录 介绍Bert模型架构损失计算方式BertForSequenceClassificationBertForTokenClassification Bert 输出结果剖析例子 参考资料 介绍 文本分类:给一句文本分类; 实体识别:从一句文本中,识别出其中的实体; 做命名…

由于误操作原因丢失了照片?6 款 Android 照片恢复应用程序可能有帮助

由于意外删除,软件故障,系统崩溃,恢复出厂设置或任何其他原因,您可能会丢失Android手机中的照片。无论如何,您仍然有很大的机会借助Android照片恢复应用程序恢复照片。有很多应用程序提供恢复支持,但并非所…

zeal 开发者离线文档工具

zeal是一款程序开发者不可或缺的离线文档查看器 下载地址 官网地址: windows版csdn下载:https://zealdocs.org/download.html#windows windows版官网下载:https://zealdocs.org/download.html#windows 下载压缩版,解压即用相对…

Matlab类阿克曼车机器人运动学演示

v1是后驱动轮轮速, v2是转向角变化速度, 实际上我们只需要关注XQ, YQ和Phi的变化率。 通过这三项和时间步长, 我们就可以计算出变化量, 再结合初始值就能推断出每个时刻的值。 % 清理当前运行环境 % 清除所有变量 cle…