- 博客(25)
- 收藏
- 关注
原创 J5:DenseNet+SE-Net
SE-Net是ImageNet 2017 (lmageNet 收官赛)的冠军模型,是由自动驾驶公司Momenta在2017年公布的一种全新的图像识别结构,它通过对特征通道间的相关性进行建模,把重要的特征进行强化来提升准确率。这个结构是2017 ILSVR竞赛的冠军,top5的错误率达到了2.251%,比2016年的第一名还要低25%,可谓提升巨大。模型具有复杂度低,参数少和计算量小的优点。且SENet 思路很简单,很容易扩展到已有网络结构如 Inception 和 ResNet 中。
2024-11-22 16:49:57
1095
原创 J4周:ResNet与DenseNet结合探索
(a)的左边竖着的大矩形框表示输入输出内容,对一个输入x,分两条线走,一条线还是x本身,另一条线是x经过11卷积,33卷积,11卷积(这三个卷积层的组合又称作bottleneck),然后把这两条线的输出做一个element-wise addition,也就是对应值相加,就是(a)中的加号,得到的结果又变成下一个同样模块的输入,几个这样的模块组合在一起就成了一个stage。DPN以ResNet为主要框架,保证特征的低冗余度,并添加了一个非常小的DenseNet分支,用于生成新的特征。
2024-11-15 15:24:04
796
原创 J3:DenseNet算法实战与解析
在计算机视觉领域,卷积神经网络(CNN)已经成为最主流的方法,比如GoogleNet,VGG-16,Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现,ResNet可以训练出更深的CNN模型,从而实现更高的准确率。ResNet模型的核心是通过建立前面层与后面层之间的“短路连接”(shortcut, skip connection),进而训练出更深的CNN网络。今天我们要介绍的是DenseNet模型,它的基本思路与ResNet一致,但是它建立的是前面所有层与后面层的。
2024-11-08 22:09:12
1256
原创 J2:ResNet50v2算法实战与解析
改进点:(a)original 表示原始的 ResNet 的残差结构,(b)proposed 表示新的 ResNet 的残差结构。从图中结果我们可以看出,(b)proposed 的测试集错误率明显更低一些,达到了 4.92%的错误率,(a)original 的测试集错误率是 7.61%。用不同 shortcut 结构的 ResNet-110 在CIFAR-10 数据集上做测试,发现最原始的(a)original 结构是最好的,也就是identity mapping 恒等映射是最好的。
2024-11-01 22:00:49
1056
原创 J1:ResNet-50算法实战与解析(鸟类识别)
深度残差网络ResNet(deep residual network)在2015年由何恺明等人提出,因为它简单与实用并存,随后很多研究都是建立在ResNet-50或者ResNet-101基础上完成。ResNet主要解决卷积网络在深度加深时候出现的“退化”问题。在一般的卷积神经网络中,增大网络深度后带来的第一个问题就是梯度消失、爆炸;梯度消失:是指在反向传播过程中,随着网络层数的增加,前几层的梯度值变得非常小,接近于零。这会导致权重更新非常慢,从而无法有效训练深层网络;梯度爆炸。
2024-10-21 19:36:12
1540
原创 T11:优化器对比实验
本周学习了调用vgg16并构建functional model来进行不同优化器的设置和训练,并在最后对训练参数过程进行可视化。
2024-10-11 17:15:01
372
原创 T8:猫狗识别
和x,y=None,对单批数据进行单次梯度更新。当你想用自己的自定义规则训练模型并想要完全控制模型训练时,你可以使用函数。在使用方法前,需要先编译模型,并指定优化器(如 Adam、SGD 等)和损失函数(如交叉熵、均方误差等)更精细自定义训练过程,更精准的收集 loss 和 metrics分步训练模型-GAN的实现多GPU训练保存模型更加方便更多样的数据加载方式,结合 torch dataloader 的使用参数x:输入数据。
2024-09-27 18:20:35
917
原创 T6:好莱坞明星识别
学习了解了不同损失函数的原理与适用背景;调整指数衰减学习率中部分参数大小,使得val_acc达到40%tf框架中进行VGG16调用和手动搭建(代码见九)对VGG16模型进行调整修改使得val正确率达到80%
2024-09-04 17:06:07
1113
原创 T5:运动鞋图片识别
当然,在某些情况下,step和iteration可能会有细微的区别——有时候iteration是指完成一次前向传播和反向传播的过程,而step是指通过优化算法对模型参数进行一次更新的操作。Callbacks中有一些设置好的接口,可以直接使用,如’acc’, 'val_acc’, ’loss’ 和 ’val_loss’等等。CNN的输入张量表示图像的结构和颜色信息。具体地,通过监控指定性能标志,当模型在一定数量的训练轮次(epochs)中没有明显改进的时候停止继续训练。,包含了图像高度、宽度及颜色信息。
2024-08-17 00:03:45
1128
原创 T4:猴痘病识别图片
CNN的输入张量表示图像的结构和颜色信息。每个像素点都被表示为具有color_channels个数值的向量,在训练时,通过一系列卷积层、池化层和全连接层等操作提取和处理图像特征。color_channels 为 (R,G,B) 分别对应 RGB 的三个颜色通道(color channel)。在此示例中,我们的 CNN 输入形状是。进行的训练结合使用,可在一定时间间隔内保存模型或权重(在检查点文件中),以便以后加载模型或权重,从保存的状态继续训练。在准备对模型进行训练之前,还需要再对其进行一些设置。
2024-08-04 14:15:38
1008
原创 T3-天气图片识别
相反,当加速器正在训练模型时,CPU 处于空闲状态。因此,训练所用的时间是 CPU 预处理时间和加速器训练时间的总和。当加速器正在执行第 N 个训练步时,CPU 正在准备第 N+1 步的数据。这样做不仅可以最大限度地缩短训练的单步用时(而不是总用时),而且可以缩短提取和转换数据所需的时间。CNN的输入张量表示图像的结构和颜色信息。每个像素点都被表示为具有color_channels个数值的向量,在训练时,通过一系列卷积层、池化层和全连接层等操作提取和处理图像特征。在此示例中,我们的 CNN 输入形状是。
2024-07-24 03:04:25
1175
原创 T2周:彩色图片分类
学会使用tensorflow对彩色图片进行识别,并了解与灰度图片识别的区别(特别是输入模型的shape);修改原模型,使得test acc > 72%
2024-07-16 21:37:50
745
原创 T1:minist手写数字识别
本周使用tensorflow.keras进行MNIST数据集识别,学习了解了专门的模块和函数,也感受到了其与之前学习的pytorch框架的不同,但是网络构建和训练的核心思想仍旧没变。通过下面的网络结构我们可以简单理解为,输入一张图片,将会得到一组数,这组代表这张图片上的数字为0~9中每一个数字的几率(并非概率),out数字越大可能性越大,仅此而已。优点:神经元个数增加,模型复杂度提升;理论上都可以提高模型的学习能力。优点:神经元个数增加,模型复杂度提升。激活函数的作用是增加模型的非线性表达能力。
2024-07-10 22:33:01
1157
原创 第P10周:PyTorch实现车牌识别
在之前的案例中,我们多是使用函数直接导入已经分类好的数据集形成Dataset,然后使用DataLoader加载Dataset,但是如果对无法分类的数据集,我们如何导入,并进行识别呢?本周内容将自定义一个MyDataset加载车牌数据集并完成识别⛽ 我的环境。
2024-07-06 20:43:08
11343
2
原创 P9:YOLOv5-Backbone模块实现
yolov5原理详解 (涉及内容:Yolov5框架,各组件分析,特征融合是怎么实现的?yolov5的具体特征融合方式等)YOLOv5【网络结构】超详细解读总结!!!❗重点参考【目标检测】yolov5模型详解YOLOv5(You Only Look Once version 5)是一个流行的目标检测算法,它是 YOLO 系列算法的最新版本之一。YOLOv5 以其高速和高精度的特点,在实时目标检测任务中表现出色。本次构建的是基于YOLOv5l的backbone(有修改),大致如下:可以看出YOLOv5s包含。
2024-06-19 19:42:04
1051
原创 P8:YOLOv5-C3模块实现
版权-https://blog.youkuaiyun.com/u012856866/article/details/130948742yolov5原理详解 (涉及内容:Yolov5框架,各组件分析,特征融合是怎么实现的?yolov5的具体特征融合方式等)YOLOv5【网络结构】超详细解读总结!!!❗重点参考【目标检测】yolov5模型详解YOLOv5(You Only Look Once version 5)是一个流行的目标检测算法,它是 YOLO 系列算法的最新版本之一。
2024-06-12 17:43:38
752
原创 P7周:基于pytorch的咖啡豆识别-(VGG16复现)
本次手动搭建的vgg16已经达到较高的训练准确率,为99.6%巩固调用官方模型的操作在手动搭建的模型基础上进行轻量化,修改后参数数量为121,736,996,并可达到最高训练准确率为100%感觉自己经过每周的学习,对代码和模型优化更加熟练。
2024-06-05 08:03:40
1131
原创 第P6周:VGG16-PyTorch人脸识别
了解学习VGG16的模型结构,学习调用官方模型并通过修改最后全连接层来识别人脸图片(test acc为20%)巩固学习动态学习率的设置通过手动搭建VGG16模型,通过不断调整参数来提高测试正确率(也参考了各种VGG16相关的博文),最终训练准确率达到99%,测试准确率超过60%。
2024-05-31 21:58:19
831
原创 P5训练营:PyTorch运动鞋图片识别
学习了动态学习率的设置方法-动态学习率可以帮助模型更快地收敛。在训练初期,大的学习率可以快速接近最优解;在训练后期,小的学习率可以更精细地优化模型优化识别图像CNN模型train acc达到99%,test acc达到86%以上;本菜鸡的感想根本上因为打好基础,对模型训练的各种条件和背后作用的原理了解不足,导致调整参数结构没有策略(无头苍蝇);这次大部分时间耗在优化模型上,首先,初始模型性能较好时再优化应该多微调而不是一下子改很多地方,经常导致“坏上加坏”(或者效果抵消了导致没啥变化);
2024-05-26 18:23:43
1084
原创 P4-猴痘病图片识别(pytorch+CNN)
更具体地说,损失函数loss是由模型的所有权重w经过一系列运算得到的,若某个w的requires_grads为True,则w的所有上层参数(后面层的权重w)的.grad_fn属性中就保存了对应的运算,然后在使用loss.backward()后,会一层层的反向传播计算每个w的梯度值,并保存到该w的.grad属性中。step()函数的作用是执行一次优化步骤,通过梯度下降法来更新参数的值。函数会遍历模型的所有参数,通过内置方法截断反向传播的梯度流,再将每个参数的梯度值设为0,即上一次的梯度记录被清空。
2024-05-19 03:25:21
685
原创 第P3周:Pytorch实现天气识别
更具体地说,损失函数loss是由模型的所有权重w经过一系列运算得到的,若某个w的requires_grads为True,则w的所有上层参数(后面层的权重w)的.grad_fn属性中就保存了对应的运算,然后在使用loss.backward()后,会一层层的反向传播计算每个w的梯度值,并保存到该w的.grad属性中。这是因为卷积操作是通过对输入数据的局部区域进行卷积操作得到特征图的,因此对于输入数据中相同的特征,它们在不同位置上的局部区域是相似的,因此卷积操作可以提取出相同的特征。方法进行数据集划分。
2024-05-04 22:36:36
1095
原创 训练营-第P2周:CIFAR10彩色图片识别
使用dataset下载CIFAR10数据集,并划分训练集与测试集使用dataloader加载数据,并设置好基本的batch size利用squeeze()函数的功能,去除维度为1的shape对于一般的CNN网络来说,都是由特征提取网络和分类网络构成,其中。
2024-04-19 22:28:54
968
2
原创 深度学习训练营PyTorch week1
worker_init_fn (Callable, optional) – 如果不是 None,这将在步长之后和数据加载之前在每个工作子进程上调用,并使用工作 id([0,num_workers - 1] 中的一个 int)的顺序逐个导入。batch_sampler (Sampler or Iterable, optional) – 和sampler类似,但是一次返回一批索引,与 batch_size、shuffle、sampler 和 drop_last互斥。0表示数据将在主进程中加载(默认:0)
2024-04-12 22:05:26
1177
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅