深度学习-回顾CNN经典网络LetNet
深度学习中,从LetNet到当前最火的GPT所用的Transformer,经典网络引领一波又一波的技术革命,它们把AI技术不断推向高潮。
用pytorch构建CNN经典网络模型LetNet,还可用数据进行训练模型,得到一个优化的模型。
数据分析
数据分析-Pandas如何转换产生新列
数据分析-Pandas如何统计数据概况
数据分析-Pandas如何轻松处理时间序列数据
数据分析-Pandas如何选择数据子集
数据分析-Pandas如何重塑数据表-CSDN博客
经典算法
经典算法-遗传算法的python实现
经典算法-模拟退火算法的python实现
经典算法-粒子群算法的python实现-CSDN博客
LeNet概述
LeNet是由Yann Lecun(2018年图灵奖得主,CNN的缔造者)创造的CNN经典网络,是卷积神经网络史上的开篇之作。
LeNet诞生于1990年,在手写体字符识别领域创造性的引入了卷积神经网络的基本操作,意义重大,可以说是现代卷积神经网络的发展起点。
网络结构
输入图像分辨率:28x28 单通道
结构:
(1)卷积层1:5x5 —>输出4个24×24大小的特征图;
(2)池化层1:平均池化层 2x2;
(3)卷积层2:5x5 —>输出12个8x8大小的特征图;
(4)池化层2:2x2
(5)全连接层 ---->输出
优势与不足
优势:采用CNN自动提取特征。
不足:使用了平均池化,一般而言,不如Max-Pooling提取特征具有分类辨识度。
Pytorch实现
以下便是使用Pytorch实现的经典网络结构LeNet:
class LeNet(nn.Module):def __init__(self, num_classes, grayscale=False): """num_classes: 分类的数量grayscale:是否为灰度图"""super(LeNet5, self).__init__()self.grayscale = grayscaleself.num_classes = num_classesif self.grayscale: # 可以适用单通道和三通道的图像in_channels = 1else:in_channels = 3# 卷积神经网络self.features = nn.Sequential(nn.Conv2d(in_channels, 4, kernel_size=5),nn.ReLU(),nn.MaxPool2d(kernel_size=2),nn.Conv2d(4, 12, kernel_size=5),nn.ReLU(),nn.MaxPool2d(kernel_size=2) # 原始的模型使用的是 平均池化)# 分类器self.classifier = nn.Sequential(nn.Linear(12*4*4, num_classes) # 全连接层)def forward(self, x):x = self.features(x) # 输出 12*4*4 特征图x = torch.flatten(x, 1) # 展平 (1, 12*4*4)logits = self.classifier(x) # 输出 10probas = F.softmax(logits, dim=1)return logits, probas
LetNet广泛的应用于邮政编码、支票号码识别等任务场景。
后来CNN网络结构不断发展,为深度学习在计算机视觉的蓬勃发展奠定基础。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
End
GPT专栏文章:
GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案
GPT实战系列-LangChain + ChatGLM3构建天气查询助手
大模型查询工具助手之股票免费查询接口
GPT实战系列-简单聊聊LangChain
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)
GPT实战系列-ChatGLM2模型的微调训练参数解读
GPT实战系列-如何用自己数据微调ChatGLM2模型训练
GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案
GPT实战系列-Baichuan2本地化部署实战方案
GPT实战系列-Baichuan2等大模型的计算精度与量化
GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF
GPT实战系列-探究GPT等大模型的文本生成-CSDN博客