
深度学习
文章平均质量分 80
西_西_
不生产知识,只是知识的搬运工。
展开
-
AlexNet详解
以往池化的大小PoolingSize与步长stride一般是相等的,例如:图像大小为256*256,PoolingSize=2×2,stride=2,这样可以使图像或是FeatureMap大小缩小一倍变为128,此时池化过程没有发生层叠。上文中提到,AlexNet出现后打破了原来众多学者的认知,它首次证明了学习到的特征可以超越手工设计的特征,从而越来越多的人开始重新审视深度学习算法并加入到研究的浪潮中。尽管以上思想在现在看来不能说是绝对正确的,但是至少是图像、语音等研究领域的最重要的研究方向之一。原创 2024-06-11 16:02:31 · 1103 阅读 · 0 评论 -
Swin transformer详解
本文介绍了一种称为的新视觉,它可以作为 CV 的通用主干。将 Transformer 从语言适应到视觉方面的挑战来自两个域之间的差异,例如视觉实体的规模以及相比于文本单词的高分辨率图像像素的巨大差异。为解决这些差异,我们提出了一种层次化 (hierarchical) Transformer,其表示是用移位窗口 (Shifted Windows)计算的。移位窗口方案通过将自注意力计算限制在不重叠的局部窗口的同时,还允许跨窗口连接来提高效率。这种分层架构具有在各种尺度上建模的灵活性,并且。原创 2024-06-11 15:28:27 · 1096 阅读 · 0 评论 -
Vision Transformer详解
虽然架构已成为 NLP 任务的事实标准,但它在 CV 中的应用仍然有限。在视觉上,注意力要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时保持其整体结构。我们证明了这种对 CNNs 的依赖是不必要的,直接应用于图像块序列 (sequences of image patches) 的纯 Transformer 可以很好地执行图像分类任务。当对大量数据进行预训练并迁移到多个中小型图像识别基准时 (ImageNet、CIFAR-100、VTAB 等),与 SOTA 的 CNN 相比,原创 2024-06-11 15:16:58 · 1192 阅读 · 0 评论 -
EfficientNet详解
原论文提供代码:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet。不想看文章的可以看下我在bilibili上录制的视频:https://www.bilibili.com/video/BV1XK4y1U7PX。原文链接:https://blog.youkuaiyun.com/qq_37541097/article/details/114434046。版权声明:本文为博主原创文章,遵循CC4.0 BY-SA 版权协议。原创 2024-06-11 11:36:13 · 586 阅读 · 0 评论 -
Bottleneck层总结
YOLOV8中的Bottleneck结构和YOLOV5的一致,但是需要注意的是第一个瓶颈操作YOLOV8中使用的卷积核大小是3x3,而不是YOLOV5中使用的1x1,YOLOV8是通过使channel减半,来实现降低参数的目的。下图为YOLO V5中的结构,与ResNet网络中的Bottleneck结构相比,最大不同是只有2层卷积,最后一层不再使用1x1卷积升维,而是直接输出。降低计算复杂度:通过使用 1x1 卷积层降低输入的通道数,减少了后续 3x3 卷积层的计算量。这一步负责增强特征表示能力。原创 2024-06-11 11:18:50 · 2623 阅读 · 0 评论 -
MobileNet详解
随着深度学习的火热,计算机视觉领域内的卷积神经网络模型也层出不穷。从1998年的LeNet,到2012年引爆深度学习热潮的AlexNet,再到后来2014年的VGG,2015年的ResNet,深度学习网络模型在图像处理中应用的效果越来越好。神经网络体积越来越大,结构越来越复杂,预测和训练需要的硬件资源也逐步增多,往往只能在高算力的服务器中运行深度学习神经网络模型。移动设备因硬件资源和算力的限制,很难运行复杂的深度学习网络模型。深度学习领域内也在努力促使神经网络向小型化发展。原创 2024-06-11 11:15:04 · 3124 阅读 · 0 评论 -
Inception详解
• 原理:在训练好的inception模型中,因为将瓶颈层的输出再通过一个单层的全连接层,神经网络可以很好 的区分1000种类别的图像,所以可以认为瓶颈层输出的节点向量可以被作为任何图像的一个更具有表达能 力的特征向量。提出Batch Normalization,通过一定的手段,把每层神经元的输入值分布拉到均值0方差1 的正态分布,使其落入激活函数的敏感区,避免梯度消失,加快收敛。信息分布更全局性的图像偏好较大的卷积核,信息分布比较局部的图像偏好较小的卷积核。在最后 这一层全连接层之前的网络称为瓶颈层。原创 2024-06-11 10:11:57 · 821 阅读 · 0 评论 -
Pytorch的CNN实现MNIST分类
x.view(-1, 4) 这里-1表示一个不确定的数,就是如果不确定想要reshape成几行,但是你很肯定要reshape成4列,那不确定的地方就可以写成-1。# transpose 转置函数(x=0,y=1,z=2),新的x是原来的y轴大小,新的y是原来的z轴大小,新的z是原来的x大小。train=True,# 确定为训练集。# ----------检验一个batch的分类情况----------- ## ---------输出一个batch的图片和标签--------- #原创 2023-12-16 13:42:13 · 589 阅读 · 1 评论 -
to.device的用法
两个方法都可以达到同样的效果,在pytorch中,即使是有GPU的机器,它也不会自动使用GPU,而是需要在程序中显示指定。这种方法不被提倡,而建议使用model.to(device)的方式,这样可以显示指定需要使用的计算资源,特别是有多个GPU的情况下。首先,在做高维特征运算的时候,采用GPU无疑是比用CPU效率更高,如果两个数据中一个加了.cuda()或者.to(device),而另外一个没有加,就会造成类型不匹配而报错。3. .cuda()和.to(device)的效果一样吗?原创 2023-12-15 22:45:21 · 715 阅读 · 0 评论 -
Num_workers是加载数据(batch)的线程数目
dataloader一次性创建num_worker个worker,(也可以说dataloader一次性创建num_worker个工作进程,worker也是普通的工作进程),2. num_workers = 1表示只有一个worker进程用来加载batch数据,而主进程是不参与数据加载的。5. 最好的办法是缓慢增加num_workers,直到训练速度不再提高,就停止增加num_workers的值。将指定batch分配给指定worker,worker将它负责的batch加载进RAM。原创 2023-12-15 21:56:37 · 2428 阅读 · 0 评论 -
吴恩达—卷积神经网络(CNN)学习笔记(四)——迁移学习 & 数据增强
而对于冻结这样的操作,在代码中的实现取决于我们使用的深度学习框架,例如在pytorch框架下可以使用以下代码对网络的前9层进行冻结。当然,当我们有相对较多的数据样本时,也可以选择冻结更少的层,一般来说按从深到浅的顺序“解冻”。简单来说,规律就是你拥有的数据样本越多,你需要冻结的层数就越少,你能够训练的层数就越多。第二周的学习至此也结束了,总结来说这周课程的内容开始更多地偏向于实际应用了,尤其是迁移学习和数据增强的方法可以很有效地解决计算机视觉领域样本数据不足的问题。下载下来,也就是网络中的参数。原创 2023-12-15 20:36:52 · 1009 阅读 · 0 评论 -
吴恩达—卷积神经网络(CNN)学习笔记(三)——经典案例介绍
从这个经典的CNN案例中我们又可以看到随网络深度增加, nHn_{H} 、 nWn_{W} 逐渐减小而 nCn_{C} 逐渐增大的趋势,这种趋势在很多有效的CNN案例中都有体现,所以我们在设计CNN架构时同样可以采取这样的方式。图中的卷积层CONV都是用3×3大小的卷积核做步幅为1、Padding类型为Same的运算,池化层POOL都是用2×2大小的过滤器做步幅为2的最大池化。但是由于所用的卷积层和池化层在结构上是固定的,所以此网络没有那么多的超参数,这是一种只需要专注于构建卷积层的网络。原创 2023-12-15 20:35:50 · 563 阅读 · 0 评论 -
吴恩达—卷积神经网络(CNN)学习笔记(二)
这个过程可以看作一个2×2的过滤器以2为步幅在原图像上滑动,所以这样的最大池化的超参数就定义为f=2,s=2,之前的公式 [�+2�−��+1] 依然可以用来计算池化输出的大小,不过要注意的是,在池化中通常不设置padding值,即p=0。一个32×32×3的图像经过如下卷积层得到一个28×28×6的图像,在这个卷积层中,我们需要训练的参数有3×5×5×6=4。以最大池化为例,我们将一个4×4的原图像分割为4个2×2的子区域,每个子区域中提取最大值即可。,只是为了将三维图像信息输入其后的全连接层。原创 2023-12-15 20:23:00 · 562 阅读 · 0 评论 -
吴恩达—卷积神经网络(CNN)学习笔记(一)
nH[i]n_{H}^{[i]} ,nW[i]n_{W}^{[i]} ,nC[i]n_{C}^{[i]}分别是每层图像的高、宽、通道数(原图像i=0),f[i+1], s[i+1], p[i+1]分别是作用于第i层图像的卷积核的边长、卷积步幅、Padding值,同时卷积核的个数决定了第i+1层图像的通道数nC[i+1]n_{C}^{[i+1]}。通常情况下,随着卷积层深度的增加,图像的长宽逐渐减小,而通道数逐渐增大。原创 2023-12-15 20:17:56 · 955 阅读 · 0 评论 -
STN 代码(Spatial Transformer Networks)
在神经网络中,偏置项是模型的可学习参数之一,用于在激活函数之前添加一个常数偏移。# 这个向量的前两个元素是a和b,中间两个元素是c和d,最后两个元素是tx和ty。# a 和 d 是缩放因子,b 和 c 是旋转因子,tx 和 ty 是平移因子。# 在这个特定的矩阵中,它被初始化为一个单位矩阵,即无缩放、无旋转、无平移。# 定义一个初始值为 [1, 0, 0, 0, 1, 0] 的偏置项.将创建一个输出特征映射,该输出特征映射是输入特征映射的仿射变换。请注意,对输入的每个通道进行相同的采样。原创 2023-12-07 09:08:20 · 778 阅读 · 1 评论