
图像分类
文章平均质量分 87
基于pytorch搭建的神经网络进行图像识别
视频来自于b站的霹雳吧啦Wz:https://space.bilibili.com/18161609
论文讲解部分来自于b站同济子豪兄:https://space.bilibili.com/1900783
后面可能会根据需要搭建视频中没有涉及的
听风吹等浪起
随缘学习,正常摆烂
展开
-
深度学习:5种经典神经网络模型介绍
卷积神经网络(CNN)已经发展为图像识别、视频分析和自然语言处理等领域的核心工具本文将介绍五种在深度学习领域常见的CNN模型,分别是LeNetAlexNetVGGNetGoogLeNetResNet。原创 2024-10-06 15:47:16 · 7705 阅读 · 0 评论 -
RegNet 图像识别网络,手写阿拉伯数字的图像分类
regnet 是一个深度学习模型架构,用于图像分类任务。它是由 Facebook AI Research(FAIR)提出的,旨在实现高效的网络设计。regnet 通过在不同的网络层级上增加网络宽度和深度来提高模型性能。regnet 的设计思想是通过增加模型宽度和深度来提高性能,而不是通过增加模型的复杂性。该模型使用了一种称为“Regularized Focal Loss”的新的目标函数,它可以减少模型的过拟合,并提高模型的泛化能力。原创 2024-08-09 13:27:00 · 684 阅读 · 0 评论 -
基于pytorch实现的 MobileViT 的图像识别(迁移学习)
MobileViT 轻量级的分类识别网络,结合了CNN卷积和Transformer 混合的网络架构关于更多介绍可以自行百度,本文通过进行实现。原创 2024-06-27 14:01:37 · 761 阅读 · 0 评论 -
基于 GhostNet 不同版本的图像识别
主要思想:特征提取的时候,很多特征图是具有高度相似性的,也就是说存在许多的冗余特征图。从另一个角度想,利用一系列的线性变化,以很小的代价生成许多能从原始特征发掘所需信息的“幻影”特征图呢冗余的特征图是非常有必要的,可以保证网络对输入数据的理解更为全面。ghostnet 的版本,本人在github上搜到了三个版本,这里干脆一起实现了文末有项目下载。原创 2024-06-04 18:12:32 · 548 阅读 · 0 评论 -
基于ConvNeXt网络的图像识别
ConvNeXt 网络基于传统的卷积神经网络,与当下 transformer当道而言简直是一股清流ConvNeXt并没有特别复杂或者创新的结构ConvNeXt 网络有五种大小,可以参考下面。原创 2024-05-08 16:05:38 · 985 阅读 · 0 评论 -
图像识别完整项目之Swin-Transformer,从获取关键词数据集到训练的完整过程
本文介绍了利用 Swin-Transformer 从网络自定义下载数据集到完整训练、预测的完整项目,操作简单,无需更改参数!原创 2023-12-17 12:41:57 · 1243 阅读 · 2 评论 -
Swin-Transformer 在图像识别中的应用
Transformer 是在自然语言处理(NLP)任务中提出的,之前的时序网络(RNN)不能并行化,计算N+1的数据,需要计算N的数据。因此,Transformer应运而生了。图像处理中,如果将图像划分为一个个patch,这样Transformer就能向处理自然语言那样处理图像CNN 网络有个关键的问题就是卷积核size 的设定,大的kernel size 可以拥有更好的感受野,把握更多图像的全局信息。但是size过大,网络的参数就会增加。原创 2023-12-14 17:08:12 · 1259 阅读 · 0 评论 -
CNN 卷积神经网络之 DenseNet 网络的分类统一项目(包含自定义数据集的获取)
图像识别任务主要利用神经网络对图像进行特征提取,最后通过全连接层将特征和分类个数进行映射。传统的网络是利用线性网络对图像进行分类,然而图像信息是二维的,一般来说,图像像素点和周围邻域像素点相关。而线性分类网络将图像强行展平成一维,不仅仅忽略了图像的空间信息,而全连接层会大大增加网络的参数为了更好把握图像像素的空间信息,提出了 CNN 卷积神经网络,利用卷积核(滤波器)对图像进行窗口化类似处理,这样可以更好的把握图像的空间信息。这里定义两个名词:1. 空间信息是指图像的宽高。原创 2023-12-13 13:55:22 · 572 阅读 · 1 评论 -
resnet 图像分类的项目
本章利用reset34 作图像分类,包括计算训练集和测试集的loss、accuracy曲线,对训练好的网络在训练集+测试集上求混淆矩阵。原创 2023-12-06 18:58:00 · 354 阅读 · 0 评论 -
EfficientNet V2
我们提出了一种改进的渐进式学习方法:在早期训练阶段,我们用小图像大小和弱正则化(例如,dropout和数据增强)训练网络,然后我们逐渐增加图像大小并添加更强的正则化。建立在逐步调整大小的基础上,但通过动态调整正则化,我们的方法可以在不导致准确性下降的情况下加速训练。对于不同的图像大小保持相同的正则化并不理想:对于相同的网络,较小的图像大小导致较小的网络容量,因此需要弱正则化;反之亦然,较大的图像尺寸需要更强的正则化来对抗过拟合。个人觉得最重要的是渐进的学习方法吧,根据体系的尺寸动态的正则化。原创 2023-04-08 11:01:39 · 605 阅读 · 0 评论 -
EfficientNet 分类花数据集
EfficientNet 对网络的重要三个参数进行的探索:图像分辨率、网络的宽度、网络的深度如下: 不知道从什么时候开始,224*224的图像分辨率输入似乎成为了神经网络的输入标准,导致后来的网络几乎输入都是224*224的尺寸大小因此,在规定了分辨率的这一基础下,后面的网络都在width或者depth上面下功夫。例如resnet可以增加到1000层的深度下面简单说说三个参数的作用宽度:增加channel的数量 ,更广泛的网络往往能够捕获更细粒度的特征,并且更容易训练。然而,极宽但较浅的网络往往难以捕捉更高原创 2023-04-05 17:54:19 · 1646 阅读 · 0 评论 -
ShuffleNet V2 迁移学习对花数据集训练
shufflenet v2 论文中提出衡量轻量级网络的性能不能仅仅依靠FLOPs计算量,还应该多方面的考虑,例如MAC(memory access cost),还应该比较在不同的硬件设备下的性能等等因此,基于多方面的考虑。shufflenet v2 通过大量的实验和测试总结了轻量化网络的四个准则,然后根据这四条准则搭建了shufflenet v2网络输入输出通道个数相同的时候,内存访问量MAC最小分组卷积的分组数过大会增加MAC碎片化操作会并行加速并不友好。原创 2023-04-02 21:33:00 · 1378 阅读 · 0 评论 -
ShuffleNet V1 对花数据集训练
shufflenet的亮点:分组卷积 + 通道重排mobilenet 提出的深度可分离卷积分为两个step,第一步是深度卷积DW,也就是每一个channel都用一个单独的卷积核卷积,输出一张对应的特征图。第二步是点卷积PW,就是用1*1的卷积核对DW的结果进行通道融合这样的做法可以有效的减少计算量,然而这样的方式对性能是有一定影响的。而后面的mobilenet 2,3是在bottleneck里面扩充了维度或者更新了激活函数防止维度丢失等等。原创 2023-04-01 22:56:55 · 903 阅读 · 0 评论 -
MobileNet V3 图像分类
MobileNet V3原创 2023-03-31 15:00:14 · 1434 阅读 · 0 评论 -
MobileNet V2 图像分类
MobileNet V2原创 2023-03-30 17:45:04 · 1236 阅读 · 0 评论 -
MobileNet V1 图像分类
MobileNet V1原创 2023-03-29 15:28:13 · 992 阅读 · 0 评论 -
ResNet 基于迁移学习对CIFAR10 数据集的分类
resnet 迁移学习对CIFAR10 的分类原创 2023-03-28 13:09:34 · 962 阅读 · 0 评论 -
ResNet 训练CIFAR10数据集,并做图片分类
超深的网络结构,可以突破1000层提出residual 模块使用Batch Normalization 抑制过拟合,丢弃Dropout方法针对第一点,我们知道加深网络层对于提升网络性能至关重要。然而实际情况中,网络层的加深会导致学习无法进行,性能会更差。因为网络的深度会导致梯度消失或者梯度爆炸的问题因为层数的加深,反向传播的时候,更新权重w的时候,根据链式法则可能要乘上很多项。例如传过来的是个0.5,那么网络层数深就会导致 0.5 的n次方,从而导致梯度消失,网络无法学习。原创 2022-11-09 16:27:58 · 4687 阅读 · 15 评论 -
pytorch 搭建GoogLeNet
引入了Inception 结构,在网络在横向上有深度,融合了不同尺度的特征信息使用了 1*1 的卷积核进行降维处理添加了两个辅助分类器帮助训练丢弃全连接层,使用平均池化层,大大减少了模型的参数下面是GoodLeNet 的网络结构图每层网络的参数为:后面的参数代表Inception 结构的配置。原创 2022-11-07 17:00:28 · 1499 阅读 · 0 评论 -
pytorch 搭建 VGG 网络
VGG16 的网络结构如图:VGG 网络是由卷积层和池化层构成基础的CNN它的CONV卷积层的参数全部是由 stride = 1,padding = 1它的maxpool 最大池化层的参数都是 size = 2 , stride = 2 组成的VGG 网络的亮点是它的卷积层全部都是由 3*3 的小型卷积核连续进行的,通过重复进行---卷积层重叠2-4次,然后再由池化层将size 减半进行处理VGG 网络提出了一个新的概念,就是通过叠加 3*3 的卷积核来替代大的卷积核。原创 2022-10-31 17:45:15 · 3026 阅读 · 0 评论 -
pytorch 搭建AlexNet 对花进行分类
目录1. 介绍2. 搭建AlexNet网络3. 准备数据集4. 训练网络5. 预测图片6. codeAlexNet 网络的结构为:卷积层的计算公式为: 通过计算,可以得到网络之间的参数为: 之前介绍过,卷积层相当于特征提取、全连接层相当于分类器所以这里分开搭建不同的模块特征提取的部分:分类的部分:前向传播的部分:打印的网络结构为: 这里对五个不同属性的花做分类,都放在了flower_data 下,分别是:雏菊、蒲公英、玫瑰、向日葵、郁金香通过split_data 文件对flower_data 划分出训练集和原创 2022-10-28 21:38:02 · 1693 阅读 · 0 评论 -
pytorch 搭建 LeNet 网络对 CIFAR-10 图片分类
LeNet 网络的结构如图:网络流通的顺序为:输入->卷积层1->激活函数->池化层->卷积层2->激活函数->池化层2->全连接层1->激活函数->全连接层2->激活函数->全连接层3->激活函数->softmax->输出10个类别的概率再看一下网络的维度:src 代表输入图像,dst代表输出图像,也可以计算对应的Height , Widthf 代表卷积核的sizep 代表填充的个数s 代表卷积核的步幅池化层计算公式较为简单,这里用的是(2,2)大小的Max池化。原创 2022-10-24 20:14:55 · 3537 阅读 · 9 评论 -
搭建线性网络对MNIST数据集进行训练、测试,并且预测图片
这次要完成的任务是搭建一个线性的模型去对手写数字集MNIST进行训练,对我们的网络在测试集上进行测试防止过拟合,最后在网上随便找一张手写数字的图片进行预测通过之前的学习,大概了解到,训练神经网络大概需要如下几个步骤1. 准备数据集 Data sets2. 搭建网络 Net + 优化器 optimizer3. 训练网络 Train4. 测试网络 Test这次的流程也是类似,但是因为这次的数据集和网络都较大,所以采用模块化的方式去实现。原创 2022-10-17 16:33:41 · 2479 阅读 · 2 评论 -
线性网络对糖尿病进行分类
首先第一层的时候,因为前八列作为我们的x_data ,也就是说我们输入的特征是 8 维度的,那么由于 y = x * wT + b ,因为输入数据的x是(n * 8) 的,而我们定义的y维度是(n * 6) ,所以wT的维度应该是(8,6)这里不需要知道啥时候转置,啥时候不转置之类的,只要满足线性的方程y = w*x+b,并且维度一致就行了。将前八列的特征放到我们的x_data里面,作为特征输入,最后一列放到y_data作为label。接下来,搭建实例化我们的网络,然后建立优化器。先来看看我们的数据集。原创 2022-10-16 15:14:38 · 695 阅读 · 0 评论