
深度学习基础
文章平均质量分 93
深度学习基础知识笔记
zyw2002
Talent hits a target no one else can hit; Genius hits a target no one else can see;
展开
-
论文及代码详解——HRNet
让我们看一个融合3-resolution representations的例子,如图3所示。我们从一个高分辨率的卷积流作为第一阶段,逐步将高分辨率到低分辨率的流逐个添加,形成新的阶段,并将多分辨率流并行连接。因此,后一阶段并行流的分辨率由前一阶段的分辨率和一个更低的分辨率组成。我们通过bilinear upsampling对低分辨率表示进行缩放,而不改变高分辨率的通道数,并将四种表示连接起来,然后进行1 × 1卷积来混合这四种表示。定义了一个3x3的卷积,当stride=1时,输出大小不变。原创 2023-08-21 21:56:29 · 2581 阅读 · 0 评论 -
YOLOv8改进——引入可变形卷积DCNv3
本文只讲解在YOLOv8的代码中添加DCNv3的操作流程, 具体的原理参见上述的链接~是pytorch实现的版本,只要基础的pytorch环境安装正确就不会出错。是C++实现版本,必须先在上一步编译成功,或者安装好了轮子,否则会报错。但是在实际的训练过程中,C++版本的运行速度更快,推荐使用C++版本。(具体怎么修改,都可以自己决定,然后通过实验看看效果如何)文件夹,该文件夹下的内容就是实现DCNv3算子的核心代码。中,下图中的列表里添加。原创 2023-08-21 12:45:59 · 26429 阅读 · 119 评论 -
代码详解——可变形卷积(DCNv3)
如下图,首先下载InterImage官方代码,然后在segmentation、detection、classification文件夹下均可以找到ops_dcnv3文件夹,该文件夹下的内容就是实现DCNv3算子的核心代码。modules如下图所示,modules文件夹中的dcnv3.py文件主要定义了DCNv3模块。其中是DCNv3的pytorch实现版本,DCNv3是DCNv3的C++实现版本。functions如下图所示,function文件夹中的文件定义了DCNv3的一些核心操作。原创 2023-08-21 10:35:45 · 19128 阅读 · 17 评论 -
论文详解——《InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions》
原文翻译摘要与近年来large-scale vision Transformer(ViTs)取得的巨大进展相比,基于卷积神经网络(cnn)的大型模型尚处于早期阶段。本文提出了一种新的large-scale CNN-based foundation model,称为。类似于VIT,该模型可以通过增加参数和训练数据获得增益。与最近的CNN聚焦于large dense kernels不同,原创 2023-08-18 10:02:34 · 7474 阅读 · 0 评论 -
论文及代码详解——可变形卷积(DCNv2)
DCNv2 是在DCNv1的基础上的改进版。理解DCNv2之前,建议先读。原创 2023-08-17 21:33:50 · 13875 阅读 · 2 评论 -
论文及代码详解——可变形卷积(DCNv1)
这四对坐标每个坐标都对应U中的一个像素值, 而我们需要得到(a,b)的像素值, 这里采用双线性差值的方式计算, 因为一方面得到的像素准确, 另一方面可以进行反向传播。DCN的卷积过程和普通卷积一样,如上图所示,假设有个2x2的kernel, 它也是以一个2x2的滑窗的形式(绿色的框)在原始图片上从左到右,从上到下进行滑动。采样点的像素值和上文中提到的可变形卷积中的一样,也是通过双线性插值得到的。它的每roi计算成本可以忽略不计。我们实验了不同数量的这类层,发现3是不同任务的一个很好的权衡,如表1所示。原创 2023-08-17 19:54:53 · 9107 阅读 · 2 评论 -
代码详解——Transformer
对于一个序列,在 time_step 为 t 的时刻,我们的解码输出应该只能依赖于 t 时刻之前的输出,而不能依赖 t 之后的输出。当 Decoder 的输入矩阵和 Mask 矩阵输入矩阵包含 “ I have a cat” (0, 1, 2, 3, 4) 五个单词的表示向量,Mask 是一个 5×5 的矩阵。然后判断是否传入的mask, 如果有mask (mask参数值不为None),则把mask为0的位置,将对应位置的attn的值设为无穷小的负数。可以发现得到的输出和输入的K,Q,V的大小相同。原创 2023-08-13 15:30:42 · 5971 阅读 · 1 评论 -
深度学习的训练、验证、测试的模板代码
从头搭建一个深度学习的模型,基本上都可以从这个框架去套用。包括了最基础的模型的定义、训练、验证和测试。原创 2023-08-02 13:53:53 · 3724 阅读 · 0 评论 -
经典卷积神经网络详解(AlexNet、VGG、NiN、GoogLeNet、ResNet、DenseNet、CSPNet、Darknet、EfficientNet、SqueezeNet..)
经典卷积神经网络详解(AlexNet、VGG、NiN、GoogLeNet、ResNet、DenseNet、CSPNet、Darknet、EfficientNet、SqueezeNet,MobileNet,GhostNet等)原创 2023-03-04 10:21:03 · 18823 阅读 · 3 评论 -
详解注意力机制和Transformer
本文的学习路线:📍 Attention从生物学的角度引入到计算机视角,介绍了什么是Attention ▶️介绍Encoder-Decoder框架 (目前大部分Attention Model都是依附于该框架实现)▶️ 介绍了Attention模型中的基础概念查询、键和值 ▶️ 通过讲解Nadaraya-Watson核回归模型来了解常见的注意力汇聚模型 ▶️ 介绍了Attention Model中两个常用的注意力评分函数 ▶️ 从基础的Attention引入到Self-Attention 和Multihe原创 2023-01-31 20:50:03 · 15020 阅读 · 5 评论 -
深度学习中的卷积操作
本文从信号处理中的`互相关运算`引入`深度学习中的卷积`。 然后介绍了`不同的卷积类型`,以及如何在`pytorch`中使用这些卷积层。原创 2022-12-14 16:26:23 · 4060 阅读 · 7 评论 -
动手学深度学习(2)—— 线性神经网络
而在机器学习领域, 我们通常使用的是高维数据集, 建模时采用线性代数表示法会比较方便。当我们的输入 包含 ddd 个特征时,我们将预测结果 y^\hat{y}y^ (通常使用 “尖角”符号表示 yyy 的估计值)表示为:y^=w1x1+…+wdxd+b.\hat{y}=w_1 x_1+\ldots+w_d x_d+b .y^=w1x1+…+wdxd+b.将所有特征放到向量 x∈Rd\mathbf{x} \in \mathbb{R}^dx∈Rd 中,并将所有权重放到向量w∈Rd\mathbf{原创 2022-12-04 16:36:11 · 482 阅读 · 0 评论 -
动手学深度学习(1)—— 基础知识
机器学习的组件每个数据集由⼀个个样本(example, sample)组成,⼤多时候,它们遵循独⽴同分布(independently and identically distributed, )。样本有时也叫做数据点(data point)或者数据实例(data instance),通常每个样本由⼀组称为特征(features,或协变量(covariates))的属性组成。机器学习模型会根据这些属性进⾏预测。在上⾯的监督学习问题中,要预测的是⼀个特殊的属性,它被称为标签(label,或⽬标(target)原创 2022-12-04 16:32:57 · 1986 阅读 · 1 评论