0

vim配置

下面是我的VIM的主要配置。应该就是网上找到的一个,加了点功能。权当在这里备份一下了。

将下面的内容写入自己的~/.vimrc文件即可。

针对自动跳转到上次关闭位置的这个功能,我在Ubuntu 14这个系统上失败了一次。是由于viminfo文件的权限不对。使用ls -l ~/.viminfo。如果发现其创建用户不是当前用户的话,那么可以将其删除。下次打开vim的时候会自动新建。这样就搞定了!

另外,附上Ubuntu下,VIM 8升级的命令:

read more

2

20181105 打卡

画的并不好看。都有点不想放上去。主要是用PS画的,眼睛的部分不会 = =,头发也有点乱。这个脸型花了很久,但是还是觉得似乎有点不对?

PS画完的图,导入CSP之后,居然显示效果不一样,这个有点神奇。练习1h多一点。

0

嗯,此刻一个非技术板块诞生了

之前一直在博客里面记录一下自己学习的技术技能,最近写博客的频率已经降到了一个很可怕的数值。一方面是工作的内容过于枯燥,没有什么新技术的使用,不知道要写些什么有意思的内容,另一方面就是工作确实太忙了,写一篇博客需要至少半天的时间,平时肯定是没有的,周末又要陪女票大人出去逛街。这真是现实和生活之间的巨大的矛盾啊,果然有句话是对的:成人的世界里,没有容易二字。实在伐开心。 read more

0

_rebuild_tensor_v2?pytorch版本间模型兼容性脱坑实践

最近使用Pytorch 0.4.0 进行模型训练,之后使用一个转模型的工具时,报了一个错,就是标题里面的_rebuild_tensor_v2相关的错误。最后发现是本地使用的pytorch的版本是0.3.0,和0.4.0模型上不兼容。各论坛上的解决方案都是说pytorch版本不向后兼容,建议升级pytorch。无奈我这里不方便升级pytorch版本。那么问题就来了,有没有什么不需要修改pytorch源码,或是不升级pytorch,又能让老版本的pytorch读取新版本模型的方案呢? read more

0

C++ Boost JSON解析库的使用

最近在写一个C++项目的时候,有大量的配置信息,于是将这些配置信息整合进一个文本文件中,选择了JSON这种数据格式。C++在处理JSON数据的库有很多,比如Jsoncpp,Boost等,这个项目中由于本身就已经用到了Boost这个库,因此,也就选用Boost来进行JSON的解析了。

Boost的JSON解析,使用的是property_tree这个数据类型,它可以方便的解析XML和JSON。

一、Boost JSON解析库的几个注意事项

在具体介绍之前,必须要强调一下,这个库默认不是线程安全的!不是线程安全的!不是线程安全的!不做任何处理的情况下,如果直接在多线程的程序中使用Boost解析JSON,可能会在奇怪的时候报段错误。 read more

0

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

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

这里需要使用最基本的生产者消费者模式

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

2

CNN的目标检测概述(三)

本次介绍的是Fast R-CNN,与之前的RCNN和SPPNet不同,Fast R-CNN是一个清晰和快速的目标检测的框架。在训练和测试的速度上都远超过上述两种方法。同时,Fast R-CNN的训练是一次性的端到端的训练,同时训练的分类和回归两个任务。极大的简化的训练的流程。

项目代码:https://github.com/rbgirshick/fast-rcnn

三、Fast R-CNN

1)R-CNN与SPPNet的不足

R-CNN在目标检测中有很好的准确率,但是这个方法本身仍有很多的问题。

  1. 训练过程是多级的。R-CNN的训练分成三个部分,首先是finetune一个网络(目标检测的类别和ImageNet不一样)。之后是使用SVM进行目标的分类的训练。最后是使用feature map来进行目标的bounding-box的回归训练。
  2. 训练过程费时费空间。SVM和回归两个任务,需要存储目标的特征,需要很多空间。网络的训练过程很慢。
  3. 测试速度太慢。需要对每个proposal进行前馈,耗时太长。速度只有47s / image。

SPPNet可以加速R-CNN,在SPPNet中,在卷积的部分直接前馈整张图片,之后对于每个proposal,计算出它在feature map上的位置,然后使用SPP Pooling的方式,得到定长的特征向量。使得测试时间大大缩短。但SPPNet也有很多的问题。 read more