9 悟道修炼中

尚未进行身份认证

我要认证

百度算法工程师,擅长图像、文本检索

等级
TA的排名 2w+

局部性原理

局部性原理:如果在同一个地方、同一个时间犯了错,那么将很可能继续在同一地方犯错。昨天,早上更新数据时忘记去重文件中的不可见字符,原因是我更新数据没有严格按照自己之前的流程来操作,导致xml工具处理数据失败,耽误了同事的进度;同一天,下午,为了赶着8点下班,7点把代码提交给mentor审核,mentor指出了2个问题,然后马上知错就改,并想着早点走,改完后再提交,mentor又在我改的地方找...

2019-10-17 17:43:49

(int32/uint32)整数压缩与解压缩算法---VB编码

对网络包进行压缩可以减少网络带宽,提高传输效率, 很多时候一些报文中包含一些无符号整数,比如报文头中的长度信息.正常情况下一个无符号整数占用32位从0x0000 0000 到 0xFFFF FFFF .由于一个无符号整数始终占据着4字节内存,就算是1也会占据着4个字节,其实只要1字节就可以保存了.(要想压缩整数,基本算法思想是压缩在4字节之内也就是1,2,3,4.把无符号整数进行逻辑分...

2019-06-09 22:10:44

HNSW算法原理(二)之删除结点

本篇文章继之前的一篇文章 HNSW算法原理(一) ,这次讲讲HNSW算法中一个关键问题:HNSW中如何删除元素。一、HNSW中如何删除元素一个理想的索引结构应该支持增删改查操作,由于 HNSW算法原始论文 只给出了增与查的伪代码,并没有给出删的代码,而一些项目中往往需要对已经插入到HNSW索引中的结点进行删除,比如在某些人脸识别任务中,已经1个月没有出现的人脸特征可以删除掉。下面开始分析如...

2019-02-24 15:17:19

python实现一个tenCrop的函数

虽然torchvision.transforms模块实现了"RandomResizedCrop", "RandomSizedCrop", "FiveCrop", "TenCrop"等函数,本文写下另一个实现,方便自己随便改写Tencrop的实现代码。如下所示:import numpy as npdef flow_stack_oversample(flow_stack, crop_d...

2019-01-22 16:31:41

python 统计目录下文件匹配并计数

talk is cheap,show you the code:import fnmatchimport osdef count_files(directory, prefix_list): lst = os.listdir(directory) cnt_list = [len(fnmatch.filter(lst, '*'+x)) for x in prefix_li...

2019-01-22 15:54:05

python 中list与array互相转换。

将array转成list比较简单,如下:#arraytolistimportnumpyasnp#array模块,但其只支持一维数组,不支持多维数组,也没有各种运算函数。#matrix=[0foriinrange(4)]#这样定义的数组时listobject,可以拿list当数组用matrix_array=np.random.randint(0,3,(2,3)...

2019-01-22 15:12:56

HNSW算法原理(一)

原文链接:https://blog.csdn.net/CHIERYU/article/details/81989920HNSW算法可类比于skip lists数据结构,对于增和查操作,其与skip lists有很多相同之处,下面讲讲HNSW算法中的2个关键问题,即:如何确定待插入点的层次,如何调参。一、HSNW算法将样本插入到第几层每个样本属于哪个层呢?首先要写一个确定层次的...

2019-01-22 11:23:20

SMOTE插值代码阅读

类别不均衡学习的基本策略包括:1)对分类器的预测值缩放,改变阈值;2)对数据集里的反例进行欠采样;3)对正例进行过采样;欠采样由于丢弃了大量反例,减少了训练集大小,训练时间开销相比过采样要大;过采样法不能简单地对初始正例进行重复采样,这会导致过拟合;正确过采样的方法是对正例进行插值。SMOTE的主要步骤根据 机器学习 —— 类不平衡问题与SMOTE过采样算法 的介绍如下所示:SM...

2019-01-20 20:30:57

如何判断随机变量是否服从正态分布

(分布检验问题)假设有n个随机数,检验这些随机数是否由高斯分布产生,方法如下:1. 计算n个随机变量的平均值u;2. 对n个随机变量排序,并计算相邻两个数的差dx;3. 对第2个数到第n个数,计算z[i]=(x[i]-u)/dx;4.求出max{z[i]},min{z[i]},将区间[min,max]划分n份,统计属于前i个区间的z[j]元素个数,即满足z[j]<=min+(...

2019-01-19 12:14:58

无监督图像检索 《Unsupervised Part-based Weighting Aggregation of Deep Convolutional Features...》

基于部件的CNN特征加权聚合的无监督图像检索该文提出了一种利用卷积神经网络中的 filters 作为部件检测器,采用无监督方式选择部件检测器的图像特征提取方法,属于特征聚合方法,用于图像检索领域。代码在:点击打开链接特征聚合方法一般用于具有不同个数的局部特征(如SIFT)的图像特征表示。卷积神经网络的全连接层得到的分类特征维数是固定的,无需进行特征聚合,以及其他特征聚合方法如WoF,VLAD,FV...

2018-06-25 21:23:42

测试运算所需时钟周期数

看了博客:加减乘除、开根号、log等C代码实现需要多少个时钟周期 。 决定亲自试一把。逻辑是:假定CPU一直在执行加减乘除等操作,那么让cpu循环执行N次,得到总的时间t,再cat /proc/cpuinfo得到CPU的主频大小f,根据公式t*f/N即可得到每次运算所需的时钟周期数。CPU型号为:Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz比如对于开根号:#i...

2018-06-02 16:50:17

目标检测中的example mining

目标检测,一般分为2个部分,定位和分类,example mining是选择出特定样本来计算损失函数;从实际问题出发hard example应该就是指定位较困难或分类较困难或者两者都困难的候选框。SSD的caffe中支持negative mining和hard example mining,当share_location参数为true时,只支持negative mining。对于给定候选框,其位置是...

2018-05-17 18:59:20

目标检测中准确率评价指标

caffe中实现SSD准确率评价方法是TestDetection()函数。mAp指标值是每个类别的Average precision的平均值。本文分析DetectionEvaluateLayer中实现评价的过程及其评价指标。需要指出的是,一般的前向过程是不包含DetectionEvaluateLayer层的定义的,只有在训练的评价(TEST)过程中才会使用到该layer。具体使用该层时,需要在...

2018-05-16 21:07:26

目标检测中使用二部图匹配算法

在SSD的原文中有一段话:Matching strategy During training we need to determine which default boxes correspondto a ground truth detection and train the network accordingly. For each groundtruth box we are sel...

2018-05-15 21:18:54

如何计算两个矩形框的IoU

由于最近跟别人说我搞过目标检测,然后被问到一个问题,如何计算两个矩形框的IoU?  一开始我回答说可以采用OpenCV的&运算和|运算来计算IoU,但他要我不采用OpenCV 的接口,自己写。当时我回答的比较乱,分4种情况进行讨论2个矩形框之间的位置关系,最后他告诉我说,根本不需要讨论,采用max(),min()就可以实现。囧。大致做法是先求出2个矩形框的交集,交集也是矩形框或空,计算相交...

2018-05-15 20:23:19

matlab获取图像的轮廓

输入一个二值图像,输出图像的轮廓。function [bmap] = seg2bmap(seg,width,height)% [bmap] = seg2bmap(seg)%% From a segmentation, compute a binary boundary map with 1 pixel wide% boundaries. The boundary pixels are of

2017-12-18 18:34:31

计算 1 到 N 之间 有多少个 1

问题描述:       给定一个十进制整数N,求出从1到N的所有整数中出现”1”的个数。       例如:N=2,1,2出现了1个“1”。            N=12,1,2,3,4,5,6,7,8,9,10,11,12。出现了5个“1”。问题求解:解法一:       最直接的方法就是从1开始遍历到N,将其中每一个数中含有“1”的个数加起来,

2017-04-11 00:04:55

索引算法概览

索引的定义索引技术是通过有结构、无结构的数据以一定规则存储在相应介质上,并同时提供一种访问方式的技术。从定义中可以看出,索引技术的核心是关于如何存储与访问信息,当在实际问题中面临选择何种索引技术或工具时,首先需要了解数据量的大小、数据的格式,是即时访问还是批量查询等等,有时还需要结合存储介质,比如是否使用缓存或中间缓存文件。分类本文给出的分类参照文献[1],并补充了自己的理解,分类层次结构如图所示。

2017-03-29 22:29:40

七大查找算法

查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。插值查找和斐波那契查找是在二分查找的基础上的优化查找算法。树表查找和哈希查找会在后续的博文中进行详细介绍。  查找定义:根据给定的某个值,在查找表中确定一个其关键字

2017-03-27 19:24:39

Johnsen-lindenstrauss定理(J-L定理)

前言J-L定理是我在阅读关于汉明嵌入的文章时遇到最多的一次概念,其主要是说“一个dd维空间中的nn个点可以近似等距地嵌入到一个k≈O(logn)k \approx O(logn)维的空间”,所谓等距意思简单地理解就是保持任何两个点之间的相对远近关系。该定理是1984年发现的,在压缩感知、流行学习和降维上被应用。ps:应该是个很牛逼的定理。J-L定理表述对任意常数 0<ε<10 < ε < 1 和任

2017-03-23 23:03:01

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!