当前位置: 首页 > news >正文

LeNet学习

Lenet是一个 7 层的神经网络,包含 3 个卷积层,2 个池化层,1 个全连接层。其中所有卷积层的所有卷积核都为 5x5,步长 strid=1,池化方法都为全局 pooling,激活函数为 Sigmoid,网络结构如下:

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

import torch
from torch import nn# 定义一个网络模型: MyLeNet5
class MyLeNet5(nn.Module):def __init__(self):  # 正确初始化方法名为 '__init__'super(MyLeNet5, self).__init__()  # 正确调用父类初始化方法# 这里补充MyLeNet5的具体层定义,以匹配原始LeNet-5结构self.c1 = nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5, padding=2 )  #[1,6,28,28]self.Sigmoid = nn.Sigmoid()self.s2 = nn.AvgPool2d(kernel_size=2, stride=2)self.c3 = nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5)  #[6,16,10,10]self.s4 = nn.AvgPool2d(kernel_size=2, stride=2)self.c5 = nn.Conv2d(in_channels=16, out_channels=120, kernel_size=5)  #[16,120,1,1]self.flatten = nn.Flatten()self.f6 = nn.Linear(120, 84)self.output = nn.Linear(84, 10)# 定义前向传播过程def forward(self, x):x = self.Sigmoid(self.c1(x))x = self.s2(x)x = self.Sigmoid(self.c3(x))x = self.s4(x)x = self.c5(x)x = self.flatten(x)x = self.f6(x)x = self.output(x)return xif __name__=="__main__":x = torch.rand([1, 1, 28, 28])model = MyLeNet5()print(model)y = model(x)

http://www.mrgr.cn/news/43085.html

相关文章:

  • 45集 ESP32 ADC按键程序编写
  • 【C语言系统编程】【第一部分:操作系统知识】1.1.操作系统原理
  • 解决TortoiseGit文件夹图标不见的问题。
  • 【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
  • 【Conda】修复 Anaconda 安装并保留虚拟环境的详细指南
  • Shell-使用函数
  • 大学生就业服务:Spring Boot技术实践
  • Python知识点:如何使用Multiprocessing进行并行任务管理
  • docker拉取镜像推送到阿里云镜像仓库
  • c++_ 多态
  • 数据结构与算法(七)静态链表
  • 当你系统有多个模块的时候,要设计统一入口页了。
  • 瑜伽培训行业为何要搭建自己的专属知识付费小程序平台?集师知识付费系统 集师知识付费小程序 集师知识服务系统 集师线上培训系统
  • Monitor锁实现原理
  • 深度学习架构演变:从感知机到Transformer的技术革新
  • Markdown 语法详解大全(超级版)(二)
  • 设计模式之桥接模式(Bridge)
  • 招联2025校招内推倒计时
  • js chrome devtools 调试技巧
  • 掌握这一招,轻松用Vue和ECharts打造炫酷雷达图——详细教程指南