Johnny's Blog

Talk is cheap. Show me the code.

在caffe中使用HDF5格式数据进行关键点检测

hdf5

       关键点检测是计算机视觉任务中常见的一个任务,比如人脸关键点检测。关键点检测是要在已知的某种图像中找到感兴趣点的二维信息,比如在人脸中找到人的五官的中间位置点的坐标信息,如下图所示:        图中获取到人脸的关键位置信息,可以进一步进行人脸对齐之类的操作。关键点检测同样可以用到别的方面,比如车牌关键点检测。车牌关键点检测的目的是从已经检测到的车辆图片中寻找车牌的关键信...

Deep Learning 之 batch normalization

batch-normalization

       一直使用的各种卷积神经网络模型一般都会使用Batch Normalization,虽然经常使用,但是我对其中的细节一直不是很清楚。最近花了点儿时间仔细看了这篇论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》和几篇相关的博客,在这里做一下...

Linux下非root用户安装GCC 5.4

非root用户如何安装软件

我使用的服务器上的GCC版本是4.7,但是我编译一个项目的源码需要GCC 5.3以上的版本,而我又没有root权限,而且因为别人都用着4.7的版本没有问题,不可能因为我一个人升级GCC,这种情况下有没有办法为自己单独安装一个GCC呢?答案是肯定的。只需要稍微修改一下安装的配置文件就行了。 首先需要下载新的GCC源码,我这里安装的是GCC 5.4,下载之后解压并进入目录。命令如下: wge...

Linux 命令 dos2unix

文件在不同的操作系统之间传输导致的错误

今天遇到一个奇怪的问题:运行一个很简单的shell脚本,脚本如下: /build/tools/ristretto quantize \ --model=models/SqueezeNet/train_val.prototxt \ --weights=models/SqueezeNet/squeezenet_v1.0.caffemodel \ --model_quantized=mod...

leetcode(104)

Maximum Depth of Binary Tree

Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. /** * Definition for a binary tre...

算法学习 1

prim算法

普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(英语:Vojtěch Jarník)发现;并在1957年由美国计算机科学家罗伯特·普里姆(英语:Robert C....

任务执行顺序题的解决

排序算法小结

在51nod学习贪心算法入门课程,课程最后一道题如下: 任务执行顺序 有N个任务需要执行,第i个任务计算时占R[i]个空间,而后会释放一部分,最后储存计算结果需要占据O[i]个空间(O[i] < R[i])。例如:执行需要5个空间,最后储存需要2个空间。给出N个任务执行和存储所需的空间,问执行所有任务最少需要多少空间。 最佳策略是按照R[i] – O[i]的不增顺序执行,我按照这...

用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”) ...