深度学习源码图解系列
文章平均质量分 95
以画图的方式详细地讲解深度学习源码
凯尔哥
这个作者很懒,什么都没留下…
展开
-
deformable DETR源码——超详细图解
网上也有很多大佬讲deformable DETR 的原理和源码,但是我觉得纸上得来终觉浅,还是要自己一行代码一行代码地 debug,才能理解得更加透彻。于是有了这篇博客,方便自己后续复习。原创 2024-03-22 14:51:59 · 1473 阅读 · 2 评论 -
DBNet源码——超详细图解
来到这行代码,该行代码的作用就是将canvas里面的值压缩到self.thresh_min到self.thresh_max之间,即0.3-0.7。可视化结果如下:到这里,threshold_map的标签就制作好了。另外,如果是针对多边形标注,代码是一样的,下面是对印章的标注结果来到这行代码这行代码的作用就是在gt上用白色填充缩放后的多边形,可视化效果如下:第一个文本框的缩放gt第一个和第二个文本框的缩放gt第一个、第二个和第三个文本框的缩放gt第一个、第二个、第三个和第四个文本框的缩放gt。原创 2024-03-13 10:05:05 · 1340 阅读 · 4 评论 -
HRNet源码——超详细图解
其作用是将 box(目标检测的检测框) 的 h 和 w 的比例调整为fixed_size 的 h 和 w 的比例,以 fixed_size=(4, 2),调整前的 box 的 h=5, w=3,调整后的 h=6, w=3, h / w = 2 为例。关于模型结构部分的代码,可以参考第一部分的模型结构图(其他大佬画的),我觉得已经画的非常详细了,代码实际上也是这样的。:image(同输入一致)、target(缩放之后的target,box 参数为缩放之后的 xmin,ymin,w,h)原创 2024-03-11 09:57:47 · 1173 阅读 · 0 评论 -
svtr源码——超详细图解
w_q、w_k、w_v 的 shape 为(8, 24),输出的 qkv 的 shape 为(2, 200, 24),reshape 之后的 shape 为(2, 200, 3, 2, 4),transpose 之后的 shape 为(3, 2, 2, 200, 4)。其中,qkv = self.qkv(x).reshape((0, N, 3, self.num_heads, C //self.num_heads)).transpose((2, 0, 3, 1, 4))这里的 p 为 4(32/8),原创 2024-02-27 16:00:45 · 891 阅读 · 0 评论 -
swin transformer源码——超详细图解
假设输入 x 的 shape 为(2,3,16,16),那么输出 x 的 shape 为(2,8,4,4)。说明:在我的代码中,生成的特征图是 4*4 的,而 window_size 为 3,因此需要对特征图进行扩充,以适应窗口大小。解释下上面 q(k 和 v 是一样的)的 shape, 一个 batch 中的每一张图片中的每一个 window 的每个 head 都有自己的 q、k、v 值。,假设输入 x 的 shape 为(2,8,4,4),那么输出 x 的 shape 为(2,16,8)。原创 2024-02-23 14:20:50 · 1673 阅读 · 0 评论