Johnny's Blog

Talk is cheap. Show me the code.

用cmake编译boost.python库

boost.python

Python是一种动态,由于它语法简单,使用方便,也用作脚本语言,但是它也有缺点,越高级的语言效率越低,它不适合用作底层对计算效率有要求的语言。C++是一种静态语言,执行效率高,但是也有缺点,那就是它语法比较死板,不如Python灵活。但是,往往实际应用中我们希望底层实现效率高,而上层接口使用简单方便,这样就能兼顾动态语言和静态语言的优点。很多框架中都采用了这种设计思想,比如深度学习框架Ca...

caffe 安装

包括CUDA opencv

caffe是深度学习方面一个框架,主要应用于计算机视觉方面,科研上用caffe的有很多,但是caffe有一个很大的弊端:依赖的库多,安装麻烦。学习用caffe已经有很长一段时间了,也折腾安装过好几次,每次安装过程都是一段血泪史,经常碰到各种各样的问题,每次安装都是网上一顿乱搜。这一次为一台4个Titan X的机器装caffe,装的过程中也是各种错误,系统重装了三次,又咨询了NVIDIA的支持...

caffe 学习笔记 1

caffe 中的 SGD solver

solver是caffe中一个很重要的概念,简单来说solver通过不断 forward和backward计算梯度,用计算得到的梯度对模型进行优化,更新深度神经网络各层的参数,使得loss最小以使模型更好地拟合数据。 1. solver的作用及分类 在caffe中封装的有以下几种solver: Stochastic Gradient Descent (type: “SGD”) ...

用自己的数据训练Faster-RCNN

玩faster-rcnn手记

Faster-RCNN玩了一段时间了,一直想写一篇文章总结一下,但拖延症一直也没有下笔,今天就写了吧,做个总结。 Faster-RCNN是RCNN系列检测方法中最新的方法了(Yolo除外,因为Yolo走的是另一个路子,有机会再说这个),简单来说Faste-RCNN把Fast-RCNN方法用到的proposal方法也弄到了CNN网络里(rbg大神称此网络为RPN网络),省去了额外的诸如s...

some linux tools

zsh tmux vim htop

       因为笔者本科是学电子的,所以大概去年的这个时候,我还对Linux一点儿也不了解,我一直以为操作系统就是Windows那样的,写程序就该是用VS那样的IDE。所以,刚接触Linux的时候我极端不适应,我可以说是很排斥用Linux,我当时很赞成曾经看到的一篇文章:使用Linux的程序员都是受虐狂。尤其是用shell,这怎么用啊?难道操作电脑不该是点击鼠标吗?还有写代码,vim更是变...

malloc函数详解以及和new的区别

C++ Program

今天偶然看到一个面试经验中提到malloc和new的区别,突然发现自己虽然两个都用过,但是至于区别,真的不是很明白 ,所以就仔细查了一些资料,算是对这个点彻底地了解一下,现在把我所学到的记录下来。 malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 1.malloc函数初探 首先我们要知道malloc是一个函数...