摘要: 在按照官方的安装教程进行mmdetection安装的时候,出现了一些问题。我的环境信息如下: 最后报错信息如下: 从MMCV Compiler这儿来看,可以看见MMCV CUDA Compiler: not available。 原因是,我使用的mmcv-full的脚本是: pip install 阅读全文
posted @ 2021-10-19 11:22 John_Ran 阅读(1615) 评论(0) 推荐(0) 编辑
摘要: CLIP 一个简单的Idea,使用互联网上的图片,进行pre-training(具体的讲,就是使用caption去匹配图片这个task)。在训练结束后,自然语言用来参照学习到的视觉概念。然后进行zero-shot transfer learning。 首先是制作一个足够大的图片与文本的集合: 现有的 阅读全文
posted @ 2021-10-08 21:20 John_Ran 阅读(3931) 评论(0) 推荐(0) 编辑
摘要: FP16 稍微介绍一下,FP16,FP32,BF16。 FP32是单精度浮点数,8 bit表示指数,23bit表示小数。FP16采用5bit表示指数,10bit表示小数。BF采用8bit表示整数,7bit表示小数。所以总结就是,BF16的整数范围等于FP32,但是精度差。FP16的表示范围和精度都低 阅读全文
posted @ 2021-09-02 16:12 John_Ran 阅读(1912) 评论(0) 推荐(0) 编辑
摘要: 什么是torch的sublinear技巧 陈天奇的Training Deep Nets with Sublinear Memory Cost告诉我们,训练deep nets的时候,memory的最大的开销来自于储存用于backward的activation。这个很好理解,前向的时候,每一层的acti 阅读全文
posted @ 2021-09-02 16:09 John_Ran 阅读(498) 评论(0) 推荐(0) 编辑
摘要: Torch的Dataloader类 import torch import torch.multiprocessing as multiprocessing from . import SequentialSampler, RandomSampler, BatchSampler from . imp 阅读全文
posted @ 2021-08-04 16:48 John_Ran 阅读(477) 评论(0) 推荐(0) 编辑
摘要: Ranking Loss Ranking loss在广泛的领域被使用。它有很多别名,比如对比损失(Contrastive Loss),边缘损失(Margin Loss),铰链损失(Hinge Loss)。还有常见的三元组损失(Triplet Loss)。 首先说一下什么是度量学习: 区别于常见的分类 阅读全文
posted @ 2021-08-04 13:12 John_Ran 阅读(2307) 评论(0) 推荐(0) 编辑
摘要: RFS RFS的策略,对类别c,首先有一个统计量$f_{c}$。它的含义是,统计出那些起码包含一个类别c实例的图片所占的所有图片的频率。然后通过公式计算$r_{c} = max(1, sqrt(t / f_{c}))$。在这里,t是一个超参数。一般来讲,t = 0.001。 计算出$f_c$之后,我 阅读全文
posted @ 2021-08-04 13:11 John_Ran 阅读(750) 评论(0) 推荐(0) 编辑
摘要: BN BN中有一些比较值得注意的地方: train/test不一致的好处与坏处 推理中的坑:移动平均。 训练中的坑:batch的大小与分布。 微调中的坑:参数化,数据分布等。 实现中的坑:一个多功能的BN的实现。 GN,precise-BN等等改进。 BN在训练和测试的时候,行为是不一致的。 在训练 阅读全文
posted @ 2021-08-04 13:10 John_Ran 阅读(566) 评论(0) 推荐(0) 编辑
摘要: pytorch中的nn.Module.register_buffer及DDP模块的一些小知识 作用:给一个nn的Module添加一个buffer,而且不会被认为是一个model的parameter。BN的running_mean就是一个buffer。这个buffer会被para一起,存储到模型里面( 阅读全文
posted @ 2021-08-04 11:52 John_Ran 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 深度学习框架中的分布式通信算子和并行训练 (1)首先要了解有哪些并行的种类。 (a)数据并行 (b)层内模型并行,这里有Fully Connected模型并行,Group Convolution并行等等。 (c)层间模型并行,这里包括一些流水线并行,,手动checkpoint和GPipe的知识。 ( 阅读全文
posted @ 2021-08-04 11:50 John_Ran 阅读(424) 评论(0) 推荐(0) 编辑