Read More...由于最近在做一个项目,但是框架本身有个不合理的设计。其中的代码是单线程的,数据的读取和计算都在一个线程里面完成。也就是说,我们的程序有很大的一部分时间在读取文件数据,导致最终的运行速度很慢。这里就可以使用多线程来优化。
这里需要使用最基本的生产者消费者模式。使用若干个线程作为生产者,负责数据的读取和预处理,这部分任务是IO密集型的,也就是不太占CPU,但是比较占带宽,而且有延时。在处理完数据之后,将数据放到一个队列中。
同时,使用若干个线程充当消费者,从这个队列里面获取数据,然后进行计算。计算的部分是CPU密集型的(其实我这里计算是GPU做的,就只有一个消费者),计算完成之后输出结果。
那么贯穿这一整套方案的,就是我们的队列。
在并发任务中,通常都需要一个队列机制,将并行的任务转化成串行的任务,或者将串行的任务提供给并行工作的线程。这个队列会同时被多个线程读写,因此也必须是线程安全的。
C++ 并发队列的原理简介与开源库concurrentqueue安利
CNN的目标检测概述(三)
本次介绍的是Fast R-CNN,与之前的RCNN和SPPNet不同,Fast R-CNN是一个清晰和快速的目标检测的框架。在训练和测试的速度上都远超过上述两种方法。同时,Fast R-CNN的训练是一次性的端到端的训练,同时训练的分类和回归两个任务。极大的简化的训练的流程。
项目代码:https://github.com/rbgirshick/fast-rcnn
Read More...CNN的目标检测概述(二)
Read More...这次介绍的是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的方式,最终在分类和检测任务上均有一定的效果。
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...博客服务器维护中的小技巧
这里记录了小喵的博客的服务器的一些小的技巧,包括安装和各种参数的配置,便于以后查看。不定期更新。
Read More...shadowsocks安装和配置
Shadowsocks服务端安装和配置
shadowsocks是一个十分方便安装和配置的代理工具。官网是:http://shadowsocks.org 这里记录一下,shadowsocks的安装和配置的过程,方便以后的查阅。这里使用的是python版本的shadowsocks。
Read More...Python Trick
这里主要记录一些Python使用上的小技巧,以后使用的时候可以方便查阅。不定期更新。
Read More...