- 博客(347)
- 资源 (5)
- 收藏
- 关注

原创 Pytorch实现多GPU并行训练(DDP)
Pytorch实现并行训练通常有两个接口:DP(DataParallel)和DDP(DistributedDataParallel)。目前DP(DataParallel)已经被Pytorch官方deprecate掉了,原因有二:1,DP(DataParallel)只支持单机多卡,无法支持多机多卡;2,DP(DataParallel)即便在单机多卡模式下效率也不及DDP(DistributedDataParallel)。
2023-06-29 15:30:30
5528
10

原创 图文多模态模型CLIP
CLIP带给我的震撼是超过transformer的,这是OpenAI的重要贡献之一。就如官网所描述的:用对比学习(Contrastive Learning)来对齐约束图像模型和文本模型。用文本嵌入指导图像学习,图像嵌入指导文本学习。这样一来,图像分类进入了CLIP时代,不需像传统深度学习图像分类一样,先定义出类别范围,然后准备各类别的数据(比如MNIST的十分类,ImageNet的千分类)。我们有了CLIP,可以直接任意给出一个class set如{“cat”,“dog”, “horse”,“Other”}
2022-12-05 23:22:57
5662
1

原创 轻量级Visual Transformer模型——LeViT(ICCV2021)
LeViT是FAIR团队发表在ICCV2021上的成果,是轻量级ViT模型中的标杆,文章对ViT中多个部件进行的改进,如加速策略等,对很多工程化铺设ViT系列模型都是很有借鉴意义的。按说,近期出现的优质模型非常多,各种冲击SOTA的,详情可戳我整理的小综述《盘点2021-2022年出现的CV神经网络模型》。但我为何会单独对LeViT拿出来进行详细剖析呢?原因很简单:LeViT非常工程实用,是一款足够优秀的轻量级视觉transformer模型。市面上很多轻量级模型都进入了一个误区:大家都在比拼FLOPs数和
2022-03-03 20:19:24
11408
6

原创 盘点2021-2022年出现的CV神经网络模型
在transformer席卷CV领域之后,掀起了一股新型神经网络模型的涌现热潮。短短一两年时间,研究者们从不同结构领域冲击着SOTA,有ViT的,有CNN的,甚至还有纯MLP的。其中,不乏有一些启发性和奠基性的模型出现,隐约感觉到这两年是基础模型的爆发年。ViT引领了继2012年AlexNet和2015年ResNet之后的第三个基础模型爆发潮。于是,木盏以此博文做一个不是很完全的综述,整理给大家浏览,说不定可以遇到有帮助的trick。
2022-02-22 01:13:01
16615
2

原创 Swin Transformer全方位解读【ICCV2021马尔奖】
自从ViT、DETR等尝试把language模型中的王炸transformer使用到视觉领域并得到还不错的验证效果后,研究者们一直在致力于“**如何更好地将语言模型建模到视觉**”这个问题。ViT直接把图片划分patch,用对待word的方式来对待每个patch,轻松将图片建模成sentence;而DETR则需要CNN辅助提取特征,而transformer只是当一个neck。后者更像是一个过渡模式,咱们本文不做过多讨论。
2021-10-18 23:15:11
13945
9

原创 令人心动的transformer
如果非要找一个模型来作为近三年来AI算法进展的突出代表,我认为transformer定会高票当选。本文作为算法解析文章,倡导思想为主,公式为辅,希望有助于大家理解transformer。行文逻辑为总-分-总结构。本文所有未标来源的图片均为本人所画,引用时请附上本文链接。
2021-04-12 11:31:24
4437
7

原创 目标检测中的b-box回归损失函数(IOU,GIOU,DIOU,CIOU)
目标检测作为一种经典CV任务,大致可以认为是三个子任务的集合:1. 确定目标大概位置;2. 分类出目标类别;3. 回归出检测框的宽高;这三种子任务分别需要对应损失函数的反传来学习。今天介绍的b-box回归损失函数主要是面向第三个子任务而设计的损失函数。1. IOU全称Intersection-Over-Union,即交并比。计算预测框和标注框(即GT框)的交并比,就可以知道它们的“贴合程度”好不好,作为调整模型的指导。原文链接:[1608.01471] UnitBox: An Advance
2021-03-11 12:40:12
6994
4

原创 【CVPR2021】RepVGG:重参数化——让VGG再次强大
这里的VGG指代各种平铺卷积的CNN,不带resnet那种shortcut。难得在这么浮躁的时代还有人在钻研改进VGG-style的CNN。VGG作为经典CNN的代表,事实上到如今都没有被淘汰,依然活跃在各种工程中。国际惯例,先放出原文:RepVGG: Making VGG-style ConvNets Great Again链接:https://arxiv.org/abs/2101.03697论文第一作者丁霄汉在知乎的解析:https://zhuanlan.zhihu.com/p/344324
2021-02-26 17:57:48
6991
3

原创 【GNN】图注意力网络GAT(含代码讲解)
毫无疑问,图神经网络(Graph Neural Networks)是泛计算机视觉领域内继CNN、GAN、NAS等之后的又一个研究热点,非常powerful。GAT是空域GNN的代表模型,Bengio大佬团队出品,发表在ICLR2018,目前谷歌引用已经1k了。它的特点是,很适合作为上手GNN模型。
2020-03-06 17:57:02
42049
45

原创 【ICCV2019】probabilistic face embeddings 概率人脸嵌入
概率人脸嵌入PFE:http://openaccess.thecvf.com/content_ICCV_2019/papers/Shi_Probabilistic_Face_Embeddings_ICCV_2019_paper.pdf这篇博文主体为对PFE的精细翻译,附带本人加的一些注释。摘要 通过比较隐语义空间的面部特征,嵌入方法已经在人脸识别领域取得了成功。然而,在完全无约束...
2019-10-29 11:35:01
7527
2

原创 Focal Loss(ICCV2017 best student paper)
Focal Loss由FAIR提出。Kaiming包揽了ICCV2017的最佳论文(Mask R-CNN)和最佳学生论文(Focal Loss)。按照国际惯例,给出Focal Loss的论文标题和链接:Focal Loss for Dense Object Detection http://openaccess.thecvf.com/content_ICCV_2017/papers/L...
2019-05-05 19:22:54
2943

原创 WDSR(NTIRE2018超分辨率冠军)【深度解析】
s超分辨率(super-resolution)的通俗解释就是:将低分辨率的图像通过算法转换成高分辨率图像。听起来似乎很神奇,这样是不是可以把低清电影转换成高清了?就现在来看,基于深度学习的超分辨率(简称SR)已经达到了amazing的效果。当然,以木盏的习惯就是,只在博文中讨论干货。这篇博文要解析的算法叫做WDSR,来自UIUC的华人学生JiaHui Yu的论文。在SR界有一个比赛,叫做N...
2018-12-17 17:29:27
29609
47

原创 【复现】deblurGAN: 用GAN使模糊图片变清晰(ECCV2018)
requirements:LinuxPython3.6Github地址:https://github.com/RaphaelMeudec/deblur-gan直接用这个代码会有问题,因为作者升级了网络结构,但参数没有重训,所以无法直接加载预训练参数。只能重训,或者恢复到以前的模型。 所以,直接可以加载老版本的代码:https://github.com/RaphaelMeud...
2018-11-07 10:46:43
19243
27

原创 MUNIT训练自己的数据集(图像风格转换)
MUNIT是ECCV2018的一篇关于不同风格图像之间转换的文章,是UNIT的衍生版本。作者是很大方滴,在gayhub上就可以找到munit的代码。Munit做了一件说明事情呢?我们看图就知道了:通过几笔简笔就可以生成真实感的图像,这就是munit的用处之一了。准确来说,munit是cycleGAN的强化版本。论文地址:http://openaccess.thecvf.com/co...
2018-11-04 20:25:08
9479
8

原创 【AI数学】Group Normalization(何恺明ECCV2018最佳论文提名)
声明:原创文章,欢迎转载,但必须经过本人同意。论文标题:《Group Normalization》论文链接: https://arxiv.org/pdf/1803.08494.pdf作为两年一届的计算机视觉顶会ECCV前不久在德国召开,引起了诸多CVer的关注。其中,最佳论文被一个3D朝向的论文斩获,提出了具有普世性价值的AAE。对,想要拿最佳paper,你的paper一定要提出具有普...
2018-10-20 14:25:08
3900
7

原创 【AI数学】Batch-Normalization详细解析
声明:十分欢迎转载,但须先征求本人同意。BN目前已经成为了调参师面试必问题之一了。同时,BN层也慢慢变成了神经网络不可分割的一部分了,相比其他优化操作比如dropout, l1, l2, momentum,影子变量等等,BN是最无可替代的。论文标题: 《Batch Normalization: Accelerating Deep Network Training b y Reducing ...
2018-10-17 16:28:12
14289
18

原创 yolo系列之yolo v3【深度解析】
yolo_v3是我最近一段时间主攻的算法,写下博客,以作分享交流。 看过yolov3论文的应该都知道,这篇论文写得很随意,很多亮点都被作者都是草草描述。很多骚年入手yolo算法都是从v3才开始,这是不可能掌握yolo精髓的,因为v3很多东西是保留v2甚至v1的东西,而且v3的论文写得很随心。想深入了解yolo_v3算法,必须先了解v1和v2。以下是我关于v1和v2算法解析所写的文章: v1算法...
2018-09-12 16:24:48
496078
1623

原创 生成对抗网络——GAN(一)
Generative adversarial network据有关媒体统计:CVPR2018的论文里,有三分之一的论文与GAN有关! 由此可见,GAN在视觉领域的未来多年内,将是一片沃土(CVer们是时候入门GAN了)。而发现这片矿源的就是GAN之父,Goodfellow大神。 ~~~ 生成对抗网络GAN,是当今的一大热门研究方向。在2014年,被Goodfellow大神提出来,当时的G...
2018-07-30 23:38:08
91700
49
原创 Linux终止进程(kill process)的一些玩法
经常运行一个程序时,表面上已经终止了,实际上还在后台运行。一来呢,它可能占据端口,导致端口复用的时候报错。二来呢,它可能占用GPU,让你显存直接少一块。很直接,但是不够优雅。用这个命令时需要特别小心,确保不伤及无辜进程。一行命令,就能终止所有的相关进程。
2025-04-07 17:09:17
97
原创 命令行重启Ubuntu软件
我是用Todesk远程桌面,如果卡死的时候,只能通过ssh连接命令行。于是,就有了如标题所示的需求。看到发现是"todeskd.service"。
2025-03-12 15:06:49
338
原创 【AI数学】最大似然估计(Maximum-Likelihood Estimation)
最大似然估计(MLE)是统计学里常用的方法,在本科期间的概率论里早已接触过,当时做题犹如砍瓜切菜,但很少去考虑其应用。本文从应用的角度来回顾一下最大似然估计。问:假设有一堆样本xx1x2...xn从分布p上采样得到,我们能否从已知样本尽可能去复原分布p?答:MLE就是这么一个方法。MLE有两个使用前提:1,样本是独立同分布的;2,我们预先设定好一种分布模型;我们以高斯分布为例子进行MLE讲解。x∼Nμσ2,需要拟合的参数只有2个(即均值和方差)。f。
2025-01-16 14:14:30
573
原创 欧拉角的万向死锁问题(Gimbal Lock)
90度是一种更特殊的情况,(0, 90, 0)->(10, 90, 0)会变成实际情况的(0, 90, 10),我们按照旋转顺序是先yaw再pitch再roll。但是在动态旋转的情况就不一样了,因为动态旋转很难保证旋转的顺序,比方说(30, 40, 50) ->(50, 40, 50),明明只是yaw+20,但实际展示情况并不是。所有接触欧拉角的同学,都会遇到一个概念,那就是万向锁。旋转对应的三个分量得到的,而不是先从初始方向旋转到(30, 40, 50)再yaw+20得到的,两者是完全不一样的旋转。
2025-01-16 04:11:59
867
原创 多相机系统中的相机标定(Calibration)
在三维重建领域,COLMAP或者DUST3R被用作常见的相机标定算法,通过立体匹配的方式得到相机的位姿,可以用于重建任务。先不说其在稀疏视点下通常无法完成标定,更重要的是,其估计的只是相对位姿,无法给出真实世界的尺度。相机标定(Camera Calibration)在多相机系统和三维视觉等领域极为重要,不仅能构建二维相机平面和三维世界坐标的相互关系,1,棋盘格的挑选与购买,要求:够大、不要有明显的镜面反射。本文采用的是GP400规格的标定板。本文介绍一种用棋盘格标定板的相机标定步骤。
2024-12-30 10:42:32
292
原创 【已解决】operator “is not“ in taichi scope is not supported
图形处理库taichi不支持"is not"操作,本人在全网没找到合适的解决方案。通过小小的尝试,发现fix了这个bug,发帖记录一下,希望能够帮助到遇到同样困难的道友。
2024-12-23 15:59:11
138
原创 【优雅版】Python进行条件排序
由于sorted排序默认首字母排序,于是会导致上述的问题,"10"会排到"2"前面。工程上解决这个问题可以给每个文件补0,但这个需要修改文件名,做法不太优雅。众所周知,Python内置了排序函数sorted(),但sorted()经常排序不是我们想要的顺序。这种排序就是我们想要的了~
2024-12-06 15:53:47
151
原创 【优雅版】python在列表中查找符合条件的元素
Python处理列表是最基础的操作之一,但一不小心就容易不优雅。Python写得不优雅还不如去写cpp~
2024-12-06 15:39:29
132
原创 【已解决】“ptxas fatal : Value ‘sm_30‘ is not defined for option ‘gpu-name‘”
我在用Ubuntu20.04源码编译安装COLMAP时,遇到了一个报错如上。Log显示GPU架构没被认出来。参考来自:https://github.com/colmap/colmap/issues/1944。
2024-11-04 18:48:12
279
原创 文件传输工具magic-wormhole(比scp好用太多!)
今天介绍一个很简洁优雅的文件传输工具magic-wormhole。这个工具用“虫洞”为名,就很形象,发送端把文件传到云端,接收端从云端下载。
2024-10-08 16:47:12
811
1
原创 Overleaf中插图需要的pdf图片格式制作方法(python)
Overleaf很多模板中,需要用pdf格式来插入图片,即将png/jpg图片转化成pdf,才能插入此图。这么一来,就需要额外做一步转化。
2024-08-23 18:21:24
787
原创 深度图可视化
首先,深度图的每个像素点对应的是深度值,并不能直接转化为RGB图,其次,深度图的像素取值范围也不是0-255。于是,需要一些转换手段以辅助可视化。当我们估计出一个深度图矩阵时,想可视化深度图的效果,则可以参考本文。
2024-07-29 16:52:51
549
原创 【解决】CondaHTTPError: HTTP 000 CONNECTION FAILED for url
Conda新建虚拟环境的时候遇到error,在stackoverflow上着了好久都没有合适的解决方案。最终通过设置国内代理获得解决。
2024-07-08 22:21:02
1328
原创 【pytorch扩展】CUDA自定义pytorch算子(简单demo入手)
Pytorch作为一款优秀的AI开发平台,提供了完备的自定义算子的规范。我们用torch开发时,经常会因为现有算子的不足限制我们idea的迸发。众所周知,CUDA/C++都是编译性语言,编译以后再调用会比python这种解释性语言更快。所以,我们需要对CUDA有一个编译过程。直接“python setup.py install”即可完成cuda算子的编译和安装。这里的"sum_double_op"就是我们用CUDA写的算子。那这个可以直接调用,并且可以传递梯度的算子,需要怎么做呢?
2024-07-04 22:50:27
908
原创 pytorch中的contiguous()
我们随便初始化的张量一开始都是连续张量,后来在计算中为了加速和节省存储,我们只会操作张量的索引,比如常见的narrow(), view(), expand() 和 transpose()等。这样就会产生在内存上不连续,或者索引值顺序乱序的情况。由这个例子,我们可以看出,二维张量转置以后会变得不连续,我们用contiguous做连续化以后并不会覆盖原来的张量,而是重新开辟了一块地址来存储连续的新张量。所以,contiguous只是在存储上做调整,不会改变张量的值。将张量在内存上调整为连续。
2024-07-04 22:28:36
600
原创 一文搞定cuda版本、显卡驱动及多CUDA版本管理
安装cuda是每个AI从业人员必经之路。网上关于cuda、显卡驱动已经相关命令很多都解释不清楚,于是本文梳理一下,既方便自己记忆,也方便小白学习。
2024-05-24 13:55:03
2778
原创 三维空间中的球坐标系
初中数学接触过极坐标,用半径r和与x轴夹角θ来表示二维平面上一个点的位置。球坐标系就是极坐标系在三维上的推广。球坐标系在三维场景中非常常见,在三维交互性的设计中也免不了球坐标系的应用,如AR/VR头显中的陀螺仪传感器等。
2024-05-17 11:19:37
1269
CVPR2018模板latex
2020-12-02
FCOS检测算法训练模型
2020-11-19
CVPR2018论文_oral_2
2018-06-25
inception_dec_2015
2017-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人