随笔分类 -  caffe

DL工具
摘要:在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)... 阅读全文
posted @ 2015-12-28 14:00 denny402 阅读(83265) 评论(37) 推荐(12) 编辑
摘要:caffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。本文先对命令行进行解析,后续会依次介绍其它两个接口。caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_imageset.cpp, t... 阅读全文
posted @ 2015-12-25 16:22 denny402 阅读(68297) 评论(11) 推荐(9) 编辑
摘要:为了程序的简洁,在caffe中是不带练习数据的,因此需要自己去下载。但在caffe根目录下的data文件夹里,作者已经为我们编写好了下载数据的脚本文件,我们只需要联网,运行这些脚本文件就行了。注意:在caffe中运行所有程序,都必须在根目录下进行,否则会出错1、mnist实例mnist是一个手写数字... 阅读全文
posted @ 2015-12-25 11:57 denny402 阅读(64971) 评论(9) 推荐(6) 编辑
摘要:上文提到,到目前为止,caffe总共提供了六种优化方法:Stochastic Gradient Descent (type: "SGD"),AdaDelta (type: "AdaDelta"),Adaptive Gradient (type: "AdaGrad"),Adam (type: "Ada... 阅读全文
posted @ 2015-12-24 20:25 denny402 阅读(49427) 评论(3) 推荐(7) 编辑
摘要:solver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为# caffe train --solver=*_slover.prototxt在Deep Learning中,往往loss function是非凸的,没有解析解,... 阅读全文
posted @ 2015-12-24 19:26 denny402 阅读(104381) 评论(10) 推荐(22) 编辑
摘要:深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详细描... 阅读全文
posted @ 2015-12-24 16:08 denny402 阅读(29971) 评论(0) 推荐(7) 编辑
摘要:本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置。1、softmax-losssoftmax-loss层和softmax层计算大致是相同的。softmax是一个分类器,计算的是类别的概率... 阅读全文
posted @ 2015-12-24 13:24 denny402 阅读(64378) 评论(3) 推荐(1) 编辑
摘要:在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输入一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。输入:n*c*h*w输出:n*c*h*w常用的激活函数有sigmoid, ... 阅读全文
posted @ 2015-12-24 11:27 denny402 阅读(43680) 评论(7) 推荐(3) 编辑
摘要:所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数本文只讲解视觉层(Vision Layers)的参数,视觉层包括Convolution, Pooling,Local Response N... 阅读全文
posted @ 2015-12-23 20:10 denny402 阅读(55930) 评论(16) 推荐(9) 编辑
摘要:要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成。所有的参数都定义在caffe.proto这个文件中。要熟练使用caffe,最重要的就是学会配置文件(prototxt)的编写。层有很多种类型,比如D... 阅读全文
posted @ 2015-12-23 18:47 denny402 阅读(105198) 评论(14) 推荐(16) 编辑
摘要:一、版本 linux系统:Ubuntu 14.04 (64位) 显卡:Nvidia K20c cuda: cuda_7.5.18_linux.run cudnn: cudnn-7.0-linux-x64-v4.0-rc 二、下载 Ubuntu 14.04下载地址:http://www.ubuntu. 阅读全文
posted @ 2015-12-22 17:07 denny402 阅读(50458) 评论(28) 推荐(6) 编辑
摘要:caffe windows编译成功后,就可以开始进行测试了。如果还没有编译成功的,请参考:caffe windows 学习第一步:编译和安装(vs2012+win 64)一般第一个测试都是建议对手写字体minist进行识别。这个测试放在根目录下的 .\examples\mnist\ 文件夹内。1、下... 阅读全文
posted @ 2015-12-12 13:46 denny402 阅读(30680) 评论(14) 推荐(0) 编辑
摘要:没有GPU,没有linux, 只好装caffe的windows版本了。我的系统是win10(64位),vs 2012版本,其它什么都没有装,因此会需要一切的依赖库。其实操作系统只要是64位就行了,无所谓版本,win7,win8,win10都行.1、安装vs2012。2、安装 cude 6.5 可到此... 阅读全文
posted @ 2015-12-12 12:32 denny402 阅读(28299) 评论(34) 推荐(1) 编辑
摘要:在caffe框架中,使用的数据格式是google的 protocol buffer。对这个不了解,所以,想简单学习一下。简单来说,Protocol Buffer 是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化和反序列化。一提到序列化就想到了JSON,不错,两者很相似。如果对JSON不熟... 阅读全文
posted @ 2015-11-23 20:07 denny402 阅读(11451) 评论(0) 推荐(2) 编辑