✨Pytorch&Keras CIFAR10图像分类
文章平均质量分 95
接下来我会分别利用深度学习的方法,用Pytorch和Keras实现CIFAR10的图像分类,很适合大家初入深度学习或者是Pytorch和Keras,在一些课程和项目的要求下,我们会发现,一个好的代码和一个好的可视化和清晰解释是能够节省特别特别多的时间的,用jupyter写的,在文章整体架构非常清晰
风信子的猫Redamancy
在校本科大学生 B站up小白风信子的猫Redamancy 个人博客地址: https://kedreamix.github.io/
2022第十三届蓝桥杯PythonB组省一等奖,以及国赛一等奖
2022年第十二届MathorCup高校数学建模挑战赛 研究生组 二等奖
对计算机视觉,人工智能,以及机器学习等方面感兴趣
放弃不难 但坚持一定很酷
成功的法则极为简单,但简单并不代表容易
希望自己在这条路上,不孤单,不言弃,不言败
Stay Hungry,Stay Foolish
有时候没有及时回私信等等,可以发邮件咨询,1016617094@qq.com,你们的问题我都会认真看和回答的
展开
-
Pytorch CIFAR10图像分类 Swin Transformer篇
微软亚洲研究院提出的的Swin Transformer解决了这两个问题,并且在分类,检测,分割任务上都取得了SOTA的效果,同时获得了ICCV2021的best paper。Swin Transformer的最大贡献是提出了一个可以广泛应用到所有计算机视觉领域的backbone,并且大多数在CNN网络中常见的超参数在Swin Transformer中也是可以人工调整的,例如可以调整的网络块数,每一块的层数,输入图像的大小等等。该网络架构的设计非常巧妙,是一个非常精彩的将Transformer应用到图像领域的原创 2023-12-04 11:54:30 · 2213 阅读 · 0 评论
-
Pytorch CIFAR10图像分类 ShuffleNetv2篇
ShuffleNetv2是ECCV2018的文章,也是来源于旷视和清华研究组,它的效果同时是比ShuffleNetv1更好的。并且在同等复杂度下,ShuffleNetv2比ShuffleNet和MobileNetv2更准确。该论文最大的贡献在于看到了 GPU 访存带宽(内存访问代价 MAC)对于模型推理时间的影响,而不仅仅是模型复杂度,也就是 FLOPs 和参数量 Params 对于推理时间的影响,使用直接指标(如速度)而非间接指标(如FLOPs),并由此提出了4个轻量级网络设计的原则和一个新颖的 卷积。原创 2023-12-03 09:00:00 · 1246 阅读 · 0 评论
-
Pytorch&Keras CIFAR10图像分类(详情介绍以及汇总所有博客)
一开始写这个专栏的初衷是,有时候有些代码找的太繁琐了,并且找到了还运行不出来,或者运行了,但是没有一个很好的理解,所以基于此,我写了这个CIFAR10图像分类的专栏,借此希望,大家都能通过我这个专栏,找到自己想要的模型或者学习深度学习的代码。由于现在深度学习也在热度中,很多时候我们难免需要遇见深度学习的时候,在一些课程和项目的要求下,我们会发现,一个好的代码和一个好的可视化和清晰解释是能够节省特别特别多的时间的,基于此,我写出了这个专栏,这个专栏下的所有项目,都是**可运行无差错的。原创 2022-11-15 09:13:38 · 1715 阅读 · 4 评论
-
Keras CIFAR-10图像分类 ResNet 篇
当大家还在惊叹 GoogLeNet 的 inception 结构的时候,微软亚洲研究院的研究员已经在设计更深但结构更加简单的网络 ResNet,并且凭借这个网络斩获当年ImageNet竞赛中分类任务除了用pytorch可以进行图像分类之外,我们也可以利用tensorflow来进行图像分类,其中利用tensorflow的后端keras更是尤为简单,接下来我们就利用keras对CIFAR10数据集进行分类。keras是python深度学习中常用的一个学习框架,它有着极其强大的功能,基本能用于常用的各个模型。原创 2022-11-13 08:40:40 · 910 阅读 · 0 评论
-
Pytorch CIFAR10图像分类 ResNet篇
Pytorch CIFAR10图像分类 ResNet篇文章目录Pytorch CIFAR10图像分类 ResNet篇4.定义网络(ResNet)残差结构ResNet18/34 的Residual结构ResNet50/101/152的Bottleneck结构ResNet网络结构配置BasicBlockBottleneck BlockResNet5. 定义损失函数和优化器6. 训练损失函数曲线准确率曲线学习率曲线7.测试查看准确率查看每一类的准确率抽样测试并可视化一部分结果8. 保存模型9. 预测读取本地图片原创 2021-08-09 17:18:27 · 8061 阅读 · 20 评论
-
Pytorch CIFAR10图像分类 ShuffleNet篇
ShuffleNet是旷视科技提出的一种计算高效的CNN模型,其和MobileNet和SqueezeNet等一样主要是想应用在移动端。所以,ShuffleNet的设计目标也是如何利用有限的计算资源来达到最好的模型精度,这需要很好地在速度和精度之间做平衡。pointwise group convolution和channel shuffle,这在保持精度的同时大大降低了模型的计算量。目前移动端CNN模型主要设计思路主要是两个方面:模型结构设计和模型压缩。原创 2023-05-30 11:47:44 · 1197 阅读 · 0 评论 -
Pytorch CIFAR10图像分类 EfficientNet v1篇
EfficientNet源自Google Brain的论文EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks. 从标题也可以看出,这篇论文最主要的创新点是. 论文提出了,混合缩放,把网络缩放的三种方式:深度、宽度、分辨率,组合起来按照一定规则缩放,从而提高网络的效果。EfficientNet在网络变大时效果提升明显,把精度上限进一步提升,成为了当前最强网络。原创 2023-01-07 11:25:23 · 1332 阅读 · 0 评论 -
Pytorch CIFAR10图像分类 SENet篇
我们之前已经学习了 AlexNet,VGGNet,InceptionNet,ResNet,DenseNet等,他们的效果已经被充分验证,而且被广泛的应用在各类计算机视觉任务上。这里我们再学习一个网络(SENet)。Squeeze-and-Excitation Networks(SENet)是由自动驾驶公司Momenta在2017年公布的一种全新的图像识别结构,它通过对特征通道间的相关性进行建模,把重要的特征进行强化来提升准确率。原创 2023-05-29 22:57:51 · 925 阅读 · 1 评论 -
Pytorch CIFAR10图像分类 ZFNet篇
首先简单介绍一下ZFNet吧,ZFNet来源于2013的Matthew D. Zeiler和Rob Fergus的Visualizing and Understanding Convolutional Networks论文,为什么叫ZFNet也很简单,作者的两个名的首字母加起来就是啦,这里也给出论文地址,有兴趣可以看看论文在 2013 年 ImageNet 大规模视觉识别挑战赛 (ILSVRC) 中,ZFNet 比 AlexNet 有了显着改进,成为众人瞩目的焦点。原创 2023-01-05 11:44:35 · 978 阅读 · 1 评论 -
Pytorch CIFAR10图像分类 MobileNetv2篇
MobileNet v2网络是由google团队在2018年提出的,**相比MobileNet V1网络,准确率更高,模型更小**。刚刚说了MobileNet v1网络中的亮点是DW卷积,那么在MobileNet v2中的亮点就是**Inverted residual block(倒残差结构)**,如下下图所示,左侧是ResNet网络中的残差结构,右侧就是MobileNet v2中的倒残差结构。**在残差结构中是1x1卷积降维->3x3卷积->1x1卷积升维,在倒残差结构中正好相反,是1x1卷积升维->3x原创 2022-11-20 11:20:05 · 1154 阅读 · 0 评论 -
Keras CIFAR-10 分类汇总篇
keras是python深度学习中常用的一个学习框架,它有着极其强大的功能,基本能用于常用的各个模型。接下来我会分别利用深度学习的方法,用Keras实现我们的CIFAR10的图像分类大概预计的模型有LeNet,AlexNet,VGG,GoogLeNet,ResNet,DenseNet,MobileNet,Vision Transformer, ResNeXt等,除此之外也会陆续补充希望这能够帮助初学深度学习的同学一个入门深度学习的项目和在这之中更加了解Keras和tensorflow和各个图像分类的原创 2022-11-15 08:47:39 · 611 阅读 · 0 评论 -
Pytorch CIFAR10图像分类 工具函数utils更新v2.0篇
对于上一版的工具函数utils.py,我认为可能来说,可视化的感觉还是不是很好,所以我就修改了一下我新的训练函数,为了兼容,参数基本相同,但是加入了tqdm来可视化进度条,这样也会更加的好看和直观,并且统一了一些代码的格式,使得代码稍微好看点,之前有时候有点乱,除此为了兼容一些情况,修改了部分代码,但是意义相同。如果想看上一版的工具函数utils.py,可以查看这篇博客。原创 2022-11-14 21:58:23 · 900 阅读 · 0 评论 -
Keras CIFAR-10图像分类 DenseNet 篇
Keras CIFAR-10图像分类 DenseNet 篇,之前的ResNet通过前层与后层的“短路连接”(Shortcuts),加强了前后层之间的信息流通,在一定程度上缓解了梯度消失现象,从而**可以将神经网络搭建得很深**。更进一步,DenseNet最大化了这种前后层信息交流,通过建立**前面所有层与后面层的密集连接**,实现了特征在通道维度上的复用,使其可以在参数与计算量更少的情况下实现比ResNet更优的性能。原创 2022-11-14 09:00:00 · 375 阅读 · 0 评论 -
MAE实现及预训练可视化 (CIFAR-Pytorch,代码全部开源)
MAE实现及预训练可视化 (CIFAR-Pytorch)自去年 11 月份恺明大神提出 MAE 来,大家都被 MAE 简单的实现、极高的效率和惊艳的性能所吸引。近几个月,大家也纷纷 follow 恺明的工作,在 MAE 进行改进(如将 MAE 用到层次 Transformer 结构)或将 MAE 应用于图片之外的数据(如视频、多模态)。这是何凯明大佬的又一力作,CV 圈子基本都晓得,当时火爆了整个圈子,所以今天尝试在cifar数据集上进行搭建。原创 2022-09-15 08:53:11 · 5224 阅读 · 18 评论 -
Pytorch CIFAR10图像分类 Vision Transformer(ViT) 篇
Vision Transformer(ViT)简介近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩展性,它已经能够训练具有超过100B参数的空前规模的模型。ViT则是自然语言处理和计算机视觉两个领域的融合结晶。在不依赖卷积操作的情况下,依然可以在图像分类任务上达到很好的效果。原创 2022-09-08 12:00:00 · 6810 阅读 · 11 评论 -
Keras CIFAR-10图像分类 VGG 篇
VGG 是一个很经典的卷积神经网络结构,是由 AlexNet 改进的,相比于 AlexNet,主要的改变有两个地方:使用 3 x 3 卷积核代替 AlexNet 中的大卷积核,使用 2 x 2 池化核代替 AlexNet 的 3 x 3 池化核- VGGNet 有很多类型,论文中提出了 4 种不同层次的网络结构(从 11 层到 19 层)- VGG 有很多优点,最本质的特点就是用小的卷积核(3x3)代替大的卷积核,2个 3x3 卷积堆叠等于1个 5x5 卷积,3 个 3x3 堆叠等原创 2022-11-13 08:41:39 · 595 阅读 · 0 评论 -
Keras CIFAR-10图像分类 GoogleNet 篇
GoogLeNet在2014年由Google团队提出(与VGG网络同年,注意GoogLeNet中的L大写是为了致敬LeNet),斩获当年ImageNet竞赛中Classification Task (分类任务) 第一名。原论文名称是《Going deeper with convolutions》,下面是网络结构图。Inception v1网络是一个精心设计的22层卷积网络,并提出了具有良好局部特征结构Inception模块,即对特征并行地执行多个大小不同的卷积运算与池化,最后再拼接到一起。由于1×1、3×原创 2022-09-03 12:00:00 · 1046 阅读 · 23 评论 -
Pytorch CIFAR10图像分类 ResNeXt篇
Pytorch CIFAR10图像分类 ResNeXt篇简单来说呢,随着很多SOTA模型的出现,从一开始的“特征工程”慢慢地转入了一些“网络工程”,引入了一些新的结构和方法。在前面说过的网络中呢,VGG作为一种经典的模型,他提出了堆叠相同块(stacking block)的策略,在VGG中是3x3卷积核不断堆叠,并且也通过增加深度提高了准确率。原创 2022-09-02 09:35:29 · 2172 阅读 · 0 评论 -
Keras CIFAR-10图像分类 AlexNet篇
AlexNet 结构:输入层:图像大小为 227×227×3,其中 3 表示输入图像的 channel 数(R,G,B)为 3。卷积层:filter 大小 11×11,filter 个数 96,卷积步长 s=4。(filter 大小只列出了宽和高,filter矩阵的 channel 数和输入图片的 channel 数一样,在这里没有列出)池化层:max pooling,filter 大小 3×3,步长 s=2。卷积层:filter 大小 5×5,filter 个数 256,步长 s=1,......原创 2022-08-31 16:06:30 · 5367 阅读 · 0 评论 -
Keras CIFAR-10图像分类 LeNet-5篇
手写字体识别模型LeNet5诞生于1994年,是最早的卷积神经网络之一。LeNet5通过巧妙的设计,利用卷积、参数共享、池化等操作提取特征,避免了大量的计算成本,最后再使用全连接神经网络进行分类识别,这个网络也是最近大量神经网络架构的起点。LeNet-5 一些性质:- 如果输入层不算神经网络的层数,那么 LeNet-5 是一个 7 层的网络......原创 2022-08-30 12:00:00 · 5329 阅读 · 0 评论 -
Keras CIFAR-10分类 自定义simple CNN篇
Keras CIFAR-10分类 自定义simple CNN篇keras是python深度学习中常用的一个学习框架,它有着极其强大的功能,基本能用于常用的各个模型。从网上查了很多关于神经网络的资料,无疑讨论最多的就是网络结构和参数设置,就随便弄了以下的神经网络7x7 layer conv with 32 filters, stride is (2,2)ReLUDense Layer原创 2022-08-22 19:00:00 · 5383 阅读 · 0 评论 -
Keras CIFAR-10分类 SVM 分类器篇
Keras CIFAR-10分类 SVM 分类器篇,除了用pytorch可以进行图像分类之外,我们也可以利用keras来进行图像分类。SVM,中文名叫支持向量机。支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane) 。原创 2022-08-21 17:30:00 · 6097 阅读 · 0 评论 -
ClassicNetwork 图像分类网络论文链接汇总
ClassicNetwork 图像分类网络论文链接汇总Classical network implemented by pytorchLeNet:LeNet: LeNet-5, convolutional neural networkshttp://yann.lecun.com/exdb/lenet/index.htmlAlexNet:ImageNet Classification with Deep Convolutional Neural Networks, Alex Krizh原创 2022-05-08 10:01:04 · 5273 阅读 · 0 评论 -
Pytorch CIFAR10图像分类 MobileNet v1篇
Pytorch CIFAR10图像分类 MobileNet v1篇文章目录Pytorch CIFAR10图像分类 MobileNet v1篇4.定义网络(MobileNet v1)5. 定义损失函数和优化器6. 训练损失函数曲线准确率曲线学习率曲线7.测试查看准确率查看每一类的准确率抽样测试并可视化一部分结果8. 保存模型9. 预测读取本地图片进行预测读取图片地址进行预测10.总结4.定义网络(MobileNet v1)在之前的文章中讲的AlexNet、VGG、GoogLeNet以及ResNet网络,原创 2022-05-07 17:58:39 · 5776 阅读 · 0 评论 -
Pytorch CIFAR10图像分类 工具函数utils篇
Pytorch CIFAR10图像分类 工具函数utils篇虽然我代码给到了github上,但是还是有很多人问我的utils.py文件的代码是什么,为了方便,我直接给出来吧,方便大家查阅得到分类的概率import torchimport torch.nn as nnimport timeimport matplotlib.pyplot as pltfrom torch.utils.tensorboard import SummaryWriterdef get_acc(outputs, la原创 2021-11-28 11:58:48 · 5952 阅读 · 1 评论 -
Pytorch CIFAR10图像分类 DenseNet篇
Pytorch CIFAR10图像分类 DenseNet篇文章目录Pytorch CIFAR10图像分类 DenseNet篇4.定义网络(DenseNet)DenseNet 的网络结构BottleneckTransitionDenseNet-BC5. 定义损失函数和优化器6. 训练损失函数曲线准确率曲线学习率曲线7.测试查看准确率查看每一类的准确率抽样测试并可视化一部分结果8. 保存模型9. 预测读取本地图片进行预测读取图片地址进行预测10.总结这里贴一下汇总篇:汇总篇4.定义网络(DenseNet)原创 2021-08-12 16:41:18 · 6602 阅读 · 18 评论 -
Pytorch CIFAR10图像分类 GoogLeNet篇
Pytorch CIFAR10图像分类 GoogLeNet篇文章目录Pytorch CIFAR10图像分类 GoogLeNet篇4.定义网络(GoogLeNet)5. 定义损失函数和优化器6. 训练损失函数曲线准确率曲线学习率曲线7.测试查看准确率查看每一类的准确率抽样测试并可视化一部分结果8. 保存模型9. 预测读取本地图片进行预测读取图片地址进行预测10.总结这里贴一下汇总篇:汇总篇4.定义网络(GoogLeNet)GoogLeNet在2014年由Google团队提出(与VGG网络同年,注意Go原创 2021-08-05 02:31:11 · 6546 阅读 · 6 评论 -
Pytorch CIFAR10图像分类 VGG篇
Pytorch CIFAR10图像分类 VGG篇文章目录Pytorch CIFAR10图像分类 VGG篇4.定义网络(VGG)5. 定义损失函数和优化器6. 训练损失函数曲线准确率曲线学习率曲线7.测试查看准确率查看每一类的准确率抽样测试并可视化一部分结果8. 保存模型9. 预测读取本地图片进行预测读取图片地址进行预测10.总结VGG优点VGG缺点这里贴一下汇总篇:汇总篇4.定义网络(VGG)VGG模型是Oxford的Visual Geometry Group的组提出的,这个网络是在ILSVRC 2原创 2021-08-04 00:13:17 · 7340 阅读 · 6 评论 -
Pytorch CIFAR10图像分类 自定义网络篇
Pytorch CIFAR10图像分类 自定义网络篇文章目录Pytorch CIFAR10图像分类 自定义网络篇4.自定义网络5. 定义损失函数和优化器6. 训练损失函数曲线准确率曲线学习率曲线7.测试查看准确率查看每一类的准确率抽样测试并可视化一部分结果8. 保存模型9. 预测读取本地图片进行预测读取图片地址进行预测10.总结这里贴一下汇总篇:汇总篇4.自定义网络从网上查了很多关于神经网络的资料,无疑讨论最多的就是网络结构和参数设置,就随便弄了以下的神经网络1.使用3*3的卷积核2.使用初始化原创 2021-08-01 22:54:48 · 6199 阅读 · 8 评论 -
Pytorch CIFAR10图像分类 AlexNet篇
Pytorch CIFAR10图像分类 AlexNet篇文章目录Pytorch CIFAR10图像分类 AlexNet篇4.定义网络(AlexNet)5. 定义损失函数和优化器6. 训练损失函数曲线准确率曲线学习率曲线7.测试查看准确率查看每一类的准确率抽样测试并可视化一部分结果8. 保存模型9. 预测读取本地图片进行预测读取图片地址进行预测10.总结4.定义网络(AlexNet)AlexNet 结构:输入层:图像大小为 227×227×3,其中 3 表示输入图像的 channel 数(R,G原创 2021-08-03 11:23:00 · 6456 阅读 · 0 评论 -
Pytorch CIFAR10 图像分类篇 汇总
Pytorch CIFAR10 图像分类篇 汇总接下来我会分别利用深度学习的方法,用Pytorch实现我们的CIFAR10的图像分类大概预计的模型有LeNet,AlexNet,VGG,GoogLeNet,ResNet,DenseNet等,除此之外也会陆续补充希望这能够帮助初学机器学习的同学一个入门Pytorch的项目和在这之中更加了解Pytorch和各个图像分类的模型。Pytorch CIFAR10图像分类 数据加载篇Pytorch CIFAR10图像分类 自定义网络篇Pytorc原创 2021-08-01 01:29:39 · 8437 阅读 · 20 评论 -
Pytorch CIFAR10图像分类 LeNet5篇
Pytorch CIFAR10图像分类 LeNet5篇文章目录Pytorch CIFAR10图像分类 LeNet5篇4.定义网络(LeNet5)5. 定义损失函数和优化器6. 训练损失函数曲线准确率曲线学习率曲线7.测试查看准确率查看每一类的准确率抽样测试并可视化一部分结果8. 保存模型9. 预测读取本地图片进行预测读取图片地址进行预测10.总结这里贴一下汇总篇:汇总篇4.定义网络(LeNet5)手写字体识别模型LeNet5诞生于1994年,是最早的卷积神经网络之一。LeNet5通过巧妙的设计,利用原创 2021-08-02 19:40:25 · 6027 阅读 · 5 评论 -
Pytorch CIFAR10图像分类 数据加载与可视化篇
Pytorch CIFAR10图像分类 数据加载与可视化篇文章目录Pytorch CIFAR10图像分类 数据加载与可视化篇1.数据读取2. 查看数据(格式,大小,形状)3. 查看图片np.ndarray转为torch.TensorPytorch一般有以下几个流程数据读取数据处理搭建网络模型训练模型上线这里会先讲一下关于CIFAR10的数据加载和图片可视化,之后的模型篇会对网络进行介绍和实现。1.数据读取CIFAR-10 是由 Hinton 的学生 Alex Krizhevsky 和原创 2021-08-01 01:30:34 · 7854 阅读 · 15 评论
分享