mAP

mAP是目标检测领域的一个常用指标,但却少有教程能真正说清楚,说明白这个东西。自己也是看了无数次,每次看了忘,忘了又去看。这次写下来,希望能记得牢固一些。

一句话概括AP:AP表示Recall从0~1的平均精度值。比如说Recall=0.1时,Precision=y1;Recall=0.2时,Precision=y2;…… ;Recall=1.0时,Precision=yn。那么可以以Recall为横轴,Precision为纵轴画一条曲线,曲线下的面积就是AP。

一句话概括mAP:mAP表示多个物体类别上的平均AP。注意,mAP有两次平均,一次在Recall取不同值时平均,一次在类别上平均。

app快速定位算法的实现-geohash算法研究

什么是geohash?它的原理是什么?它帮助我们解决了哪些痛点,本文为你娓娓道来。
(本文包含以下内容,阅读完需要约10分钟)

  • 我们日常生活中遇到哪些定位的场景
  • 简单复习一下经纬度
  • geohash原理解析
  • geohash存在的边界问题
  • 如何解决边界问题
  • 计算两点距离的计算

Git内部原理揭秘

本文以一个具体例子结合动图介绍了Git的内部原理,包括Git是什么储存我们的代码和变更历史的、更改一个文件时,Git内部是怎么变化的、Git这样实现的有什么好处等等。通过例子解释清楚上面这张动图,让大家了解Git的内部原理。如果你已经能够看懂这张图了,下面的内容可能对你来说会比较基础。

"1"

服务端高并发分布式架构演进之路

本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。
特别说明:本文以淘宝为例仅仅是为了便于说明演进过程可能遇到的问题,并非是淘宝真正的技术演进路径

什么是hash

提到hash,相信大多数同学都不会陌生,之前很火现在也依旧很火的技术区块链背后的底层原理之一就是hash,下面就从hash算法的原理和实际应用等几个角度,对hash算法进行一个讲解。

cpu cache总结

早想写篇关于计算机CPU cache技术总结的文章,今天偶然看到这篇陈晧大神的总结,看完之后一个感觉,算了吧,有这篇足够了。我只是大自然的搬运工。向大神学习!
这篇文章主要分成这么几个部分:基础知识、缓存的命中、缓存的一致性、相关的代码示例和延伸阅读。其中会讲述一些多核 CPU 的系统架构以及其原理,包括对程序性能上的影响,以及在进行并发编程的时候需要注意到的一些问题。这篇文章我会尽量地写简单和通俗易懂一些,主要是讲清楚相关的原理和问题,而对于一些细节和延伸阅读我会在文章最后会给出相关的资源。

"1"

谈谈我的“三观”

原文选自: 谈谈我的“三观”

也许是人到了四十多了,敢写这么大的命题,我也醉了,不过,我还是想把我的想法记录下来,算是对我思考的一个snapshot,给未来的我看看,要么被未来的我打脸,要么打未来我的脸。无论怎么样,我觉得对我自己都很有意义。注意,这篇文章是长篇大论。

万物皆可embedding

不知道大家有没有这种感受,在学习推荐系统算法模型时,少不了embedding的应用,有的推荐算法模型甚至可以说就是在做embedding的过程,可见embedding在推荐系统中的重要性。这篇文章就专门把embedding单独提出来,梳理一下embedding在推荐系统中的应用。以下内容主要从深度学习方法传统的协同过滤方法两个方面加深和理解在推荐系统领域对embedding的认识,感受下“embedding”这一重要思想。

"1"

代码优化概要

本文译自Dr. Dobb’s Blogger的Walter Bright写的《Overlooked Essentials For Optimizing Code》

我编写程序至今有35年了,我做了很多关于程序执行速度方面优化的工(一个示例),我也看过其它人做的优化。我发现有两个最基本的优化技术总是被人所忽略。 注意,这两个技术并不是避免时机不成熟的优化。并不是把冒泡排序变成快速排序(算法优化)。也不是语言或是编译器的优化。也不是把 i*4写成i<<2 的优化。 这两个技术是:

  • 使用 一个profiler。
  • 查看程序执行时的汇编码。

使用这两个技术的人将会成功地写出运行快的代码,不会使用这两个技术的人则不行。下面让我为你细细道来。

VIM攻略

学习 vim 并且其会成为你最后一个使用的文本编辑器。没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用。
学习建议:

  • 学习vim在开始时是痛苦的。
  • 需要时间
  • 需要不断地练习,就像你学习一个乐器一样。
  • 不要期望你能在3天内把vim练得比别的编辑器更有效率。
  • 事实上,你需要2周时间的苦练,而不是3天。