caffe学习笔记
穿越5极限
主要研究计算机视觉和机器学习
展开
-
Caffe学习笔记1:初识caffe篇(caffe介绍)
小菜一开始学习caffe的时候,是去网上找了一些有关caffe的介绍的资料和一些博客,还看了caffe的创建者贾扬清对caffe的一个简单介绍,如果英语比较好的人,你们可以去贾扬清的主页上去看看caffe的介绍。下面介绍的内容也是小菜查找了许多博客选了一篇比较好的博客的内容。其他的可以看看后面的连接。这里就不一一介绍了!Caffe的全称是:Convolutional architecture原创 2016-08-12 11:20:06 · 9027 阅读 · 0 评论 -
Caffe windows 下进行(微调)fine-tune 模型
小菜最近一直在学习caffe。今天小菜主要介绍一下如何在Caffe上微调网络(ps:小菜中间也出现了许多问题,不过很感谢网上的一些前辈的无私奉献),一般比较经典的深度学习模型是别人训练好的模型,例如分类模型主要是针对Imagenet的数据集进行分类的。为了适应我们自己特定的新任务(小菜的任务是分类),一般来说我们自己需要做的方向,比如在一些特定的领域的识别分类中,我们很难拿到大量的数据。因为像在I原创 2016-07-29 09:25:23 · 6728 阅读 · 12 评论 -
caffe fine-tune策略
caffe fine-tune策略 现在随着深度学习技术的迅速发展,深度学习技术在图像和语音方向的应用已经很成熟了。目前工程上应用深度学习一般源于数据的限制都是在ImageNet pre-trained model的基础上进行微调—fine-tune。由于ImageNet数以百万计带标签的训练集数据,使得如CaffeNet之类的预训练的模型具有非常强大的泛化能力,这些预训练的模型的中间层包含非原创 2016-11-15 20:02:09 · 4783 阅读 · 0 评论 -
Caffe学习笔记10:图像数据生成caffe需要的(laveldb和lmdb)数据文件
在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文件?在caffe中,作者为我们提供了这样一个文件:convert_imageset.cpp,存原创 2016-08-12 14:56:27 · 2728 阅读 · 4 评论 -
Windows下caffe用fine-tuning训练好的caffemodel来进行图像分类
小菜准备了几张验证的图片存放路径为caffe根目录下的 examples/images/, 如果我们想用一个微调训练好的caffemodel来对这张图片进行分类,那该怎么办呢?下面小菜来详细介绍一下这一任务的步骤。一般可以同两种方式进行测试,分别是基于c++接口和python接口。不管是用c++来进行分类,还是用python接口来分类,我们都应该准备这样三个文件:1、 caffemodel文原创 2016-07-29 09:46:29 · 2387 阅读 · 0 评论 -
Caffe学习笔记2:Windows下安装和搭建caffe框架
小菜在这里要感谢实习老师张xx,是他的无私奉献。他把他之前安装和搭建caffe框架的过程全部记录下来了写成文档了,小菜是按照他caffe学习笔记一步一步安装的,让小菜少走了许多弯路,不过小菜在安装的额过程中也出现了许多错误,小菜参考了一个大牛的博客,是博客园的以为前辈,还有小菜在讨论群里请教了一些大牛,经过不懈努力后来都一一解决了。Ø 首先去github上下载微软的caffe。https:/原创 2016-08-12 11:28:56 · 15618 阅读 · 7 评论 -
Caffe学习笔记9:caffe命令行解析
caffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。一般前面两个用的比较多。小菜这里也是看了别人的博客,下面的内容也是来自别人的总结。caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_imageset.cpp, train_net.cpp, test_net.cpp等也放在这转载 2016-08-12 14:54:45 · 1249 阅读 · 0 评论 -
Caffe学习笔记8:solver参数配置
solver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为:Build/x64/Release/caffe.exetrain --solver=examples/myfile/slover.prototxt根据你们自己的路径不一样,上面的文件的路径也不一样。在Deep Learning中,往往lossfunc原创 2016-08-12 14:52:29 · 1846 阅读 · 0 评论 -
Caffe学习笔记7:其他常用层和参数
小菜在这里讲解一些其它的常用层,包括:softmax_loss、Inner Product、accuracy、reshape、dropout层及其它们的参数配置。1、softmax-loss小菜没有仔细去研究softmax-loss和softmax的区别,softmax-loss层和softmax层计算大致是相同的。softmax是一个分类器,计算的是类别的概率(Likelihood),是转载 2016-08-12 14:48:58 · 739 阅读 · 0 评论 -
Caffe学习笔记6:激活层(Activiation Layers)和参数
在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输入一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。输入:n*c*h*w输出:n*c*h*w常用的激活函数有sigmoid、tanh、relu等,下面分别介绍:1、Sigmoid对每个输入数据,利用sigm转载 2016-08-12 14:45:09 · 935 阅读 · 0 评论 -
Caffe学习笔记5:视觉及参数
所有的层都具有的参数,如name, type, bottom, top和transform_param请参看小菜的caffe学习笔记4文章:数据层及参数。本学习笔记只讲解视觉层(Vision Layers)的参数,视觉层包括Convolution, Pooling、LocalResponse Normalization (LRN)、im2col等层。1、Convolution层:就是卷积层原创 2016-08-12 11:43:56 · 984 阅读 · 0 评论 -
Caffe学习笔记4:caffe中数据层及参数学习
小菜在成功搭建了caffe和测试了caffe的第一个例子后,觉得应该需要大致了解一下caffe的框架里都有什么,需要去学习基本的知识。跟着小菜一起吧,let’s go……要运行caffe,需要先创建一个模型(model),如比较常用的Lenet、Alexnet、VGG、Googlenet等。而一个模型由多个屋(layer)构成,每一屋又由许多参数组成。所有的参数都定义在caffe.prototxt这原创 2016-08-12 11:38:51 · 1218 阅读 · 0 评论 -
Caffe学习笔记3:caffe跑第一个mnist的例子
小菜这里是简单的介绍一下整个过程的操作执行的指令,不详细介绍里面的原理,如果你搭建完caffe,赶紧追随小菜一起试试caffe的第一个例子。Ø 打开caffe.sln,生成convert_mnist_data,这样就在Build/x64/Release下生成了convert_mnist_data.exe。Ø 在cygwin中执行caffe-master/caffe-master/dat原创 2016-08-12 11:32:49 · 3890 阅读 · 0 评论 -
caffe多任务学习之多标签分类
最近在参加一个行人精细化识别的竞赛,项目里涉及了许多类别的分类,原本打算一个大的类别训练一个分类模型,但是这样会比较麻烦,对于同一图片的分类会重复计算分类网络中的卷积层,浪费计算时间和效率。后来发现现在深度学习中的多任务学习可以实现多标签分类,所有的类别只需要训练一个分类模型就行,其不同属性的类别之间是共享卷积层的。我所有的项目开发都是基于caffe框架的,默认的,Caffe中的Data层只支持单维原创 2016-11-15 20:50:30 · 16347 阅读 · 66 评论