-
前置技能点: gnu make linux下.so,.a,.o文件 cmake是一个工具,也可以看成一门语言。 学习cmake最大的障碍在于看不懂全是大写的英文 学习cmake主要参考了《cmake practice》 不过感觉作者有些啰嗦...不重要的东西讲了半天,重要的东西却一带而过。。。表述得也不是特别流畅。。。但是还是感谢作者的分享吧orz... cmake的定位是大型项目构建工具。 目前适用于C/C++/JAVA的项目。 可以不需要自己写makefile文件。 既然cmake可以看做一门语言,那么自然就有语法。 下面只是列举一些常用的。不常用的可以用到的时候再去查。这里也会不定期补充。 cmake的语法中,对于变量大小写敏 …
Read More -
NMS是为了在诸多CV任务如边缘检测,目标检测等,找到局部最大值 其主要思想是先设定一个阈值,然后计算检测框的IOU(所谓IOU,也就是intersection-over-union,指的是相交面积除以相并面积,是来衡量overlap程度的指数)。如果IOU大于阈值,说明overlap过大,我们要通过某种算法来将其剔除。 比如下图,在经典的人脸识别任务中,出现了多个检测框,每个检测框有一个置信度confidence,我们通过某个算法,保留一个最好的。 顺便说一下算法的实现步骤把,其实不太重要。就是贪心。 其基本操作流程如下: * 首先,计算每一个 bounding box 的面积: * (x1, y1) ⇒ 左上点的坐 …
Read More -
emmm,博客的数据库又挂了。 看了下log,发现innoDB: Cannot allocate memory for the buffer pool 的error 查了下,貌似是内存不够了? orz 用free 命令看了下,阿里云ecs貌似是默认没有swap分区的。 于是参考云服务器 ECS Linux SWAP 配置概要说明 设置了swap分区。看下还会不会挂orz
Read More -
被师兄(同事?)普及了一番实验规范orz... 我还是太年轻了 所谓的一个fc的版本是右边的.一个放着不动,另一个在sequence_len(10)的维度上做ave,然后再expand成原来的维度.如下图. 任务命名规则: 如D1V2_a_1,D1表示使用第一个数据集,V2表示是第二个大版本,a表示在V2大版本上的微调,最后的数字表示这是第几次运行该任务(跑三次以减少波动的影响) logdir的地址为:/mnt/lustre/renkuanze/Data_t1/reid/log/{$jobname} * D1:使用ilivids 数据集 * D1V1表示最初始的 baseline model * D1V2表示改为使用一个fc * …
Read More -
CMC曲线全称是Cumulative Match Characteristic (CMC) curve,也就是累积匹配曲线,同ROC曲线Receiver Operating Characteristic (ROC) curve一样,是模式识别系统,如人脸,指纹,虹膜等的重要评价指标,尤其是在生物特征识别系统中,一般同ROC曲线( 多标签图像分类任务的评价方法-mean average precision(mAP) 以及top x的评价方法)一起给出,能够综合评价出算法的好坏。 转一篇通俗易懂的解释: Shortly speaking, imagine that you have 5 classes. For …
Read More -
记录一些常用的...总去查文档也是有点麻烦 * tensor.view 的作用是reshape 比如 a = torch.range(1, 16) 得到一个tensor that has 16 elements from 1 to 16. 在a=a.view(4,4)就得到了一个44的tensor。 需要注意reshape之后元素的个数不能改变(16==44) 参数-1的作用是,我懒得算这一维度应该是多少,(由于元素个数不能改变)所以希望自动被计算。**需要注意的是,只有一个维度可以写-1。 **不过view和reshape有些区别:reshape always copies memory. view never copies …
Read More -
所谓end-to-end 神经网络,更多是一种思想。 这种思想的核心是,比如对于图像处理,输入原始图像数据,输出的是直接有用的结果(有用取决于具体的任务,比如自动驾驶) 也就是尽可能少得减少人为干预,使训练是end (原始数据) to end (对应用问题直接有用的结果) 端到端指的是输入是原始数据,输出是最后的结果,原来输入端不是直接的原始数据,而是在原始数据中提取的特征,这一点在图像问题上尤为突出,因为图像像素数太多,数据维度高,会产生维度灾难,所以原来一个思路是手工提取图像的一些关键特征,这实际就是就一个降维的过程。 那么问题来了,特征怎么提? 特征提取的好坏异常关键,甚至比学习算法还重要,举个例子,对一系列人的数据分类, …
Read More -
1709.08325 Reid问题指的是判断一个probe person 是否在被不同的camera捕获的gallery person 中出现。 通常是如下情景:给出一个特定camera下某个特定人的probe image 或者 video sequence,从其他camera处询问这个人的图像,地点,时间戳。 ReID问题至今没有很好得解决,主要原因是,不同camera下,人的姿势(pose),观察的视角(viewpoint) 变化太大了。 传统方法主要在两个大方向上努力: 1. **用一些在图像上抽取的不变量来作为人的特征feture** 2. **去学习一个不同的距离度量方式,以至于同一个人在不同camera之间的距离尽可能 …
Read More -
原始论文 DNN在很多问题上效果很不错,但是由于深度和宽度过大,导致需要的执行时间和内存过大。我们需要讨论一些能快速执行并且对内存的需要不大的模型。 已经有很多方法来做这件事,比较重要的是Model distillation(模型蒸馏) 基于蒸馏的模型压缩的有效性是基于一个发现:小的网络有和大的网络一样的表达能力,只不过是更难以训练找到合适的参数。 也就是说,难点在于优化(以找到合适的参数)而不在于网络的尺寸。 蒸馏的模型的做法是把一个有效的(deep or/and wide) network 作为teacher network,让一个size 较小的 student network 模仿teacher network. 这样做的好 …
Read More