Decorative image frame

喵耳朵

略懂算法 | 在学架构 | 梦想成为 | Top插画师

喵耳朵

C++ 并发队列的原理简介与开源库concurrentqueue安利

由于最近在做一个项目,但是框架本身有个不合理的设计。其中的代码是单线程的,数据的读取和计算都在一个线程里面完成。也就是说,我们的程序有很大的一部分时间在读取文件数据,导致最终的运行速度很慢。这里就可以使用多线程来优化。

这里需要使用最基本的生产者消费者模式。使用若干个线程作为生产者,负责数据的读取和预处理,这部分任务是IO密集型的,也就是不太占CPU,但是比较占带宽,而且有延时。在处理完数据之后,将数据放到一个队列中。

同时,使用若干个线程充当消费者,从这个队列里面获取数据,然后进行计算。计算的部分是CPU密集型的(其实我这里计算是GPU做的,就只有一个消费者),计算完成之后输出结果。

那么贯穿这一整套方案的,就是我们的队列。

在并发任务中,通常都需要一个队列机制,将并行的任务转化成串行的任务,或者将串行的任务提供给并行工作的线程。这个队列会同时被多个线程读写,因此也必须是线程安全的。

Read More...

CNN的目标检测概述(二)

这次介绍的是2015年的Kaiming He的一篇论文:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition,以下简称SPP-net。 SPP-net的主要贡献是提出了一种新的pooling的方式,spatial pyramid pooling,简称为SPP。使用这种pooling的方式,可以将任意大小的输入feature map给pooling到固定的大小。使用这种pooling的方式,最终在分类和检测任务上均有一定的效果。

Read More...

CNN的目标检测概述(一)

在2012年的ImageNet中,AlexNet拔得头筹。之后,CNN成为了图像识别中的一大利器。

在目标检测中引入CNN,开山之作就是2013年的 Rich feature hierarchies for accurate object detection and semantic segmentation,之后简称R-CNN。

Read More...

本站的WordPress插件一览

其实Jetpack这个插件里面已经提供了大量的工具。如果安装了这个插件,那么下面的很多插件都是可以不用安装的。不过在国内使用Jetpack这个插件有点麻烦。我这里就一直没有用,等换了国外的服务器之后,之前的博客的很多内容都得重新编辑,太麻烦了,所以干脆不用了。

Read More...