caffe
文章平均质量分 90
冲冲那年
人活一世,我总要留下点什么
展开
-
Caffe学习系列(1):安装配置ubuntu14.04+cuda7.5+caffe+cudnn
一、版本linux系统:Ubuntu 14.04 (64位)显卡:Nvidia K20ccuda: cuda_7.5.18_linux.runcudnn: cudnn-7.0-linux-x64-v4.0-rc二、下载Ubuntu 14.04下载地址:http://www.ubuntu.com/download/desktop (64bit)转载 2016-04-06 14:54:34 · 517 阅读 · 0 评论 -
Caffe学习系列(17):模型各层特征和过滤器可视化
Caffe学习系列(17):模型各层特征和过滤器可视化 - denny402 - 博客园http://www.cnblogs.com/denny402/p/5105911.htmlcifar10的各层数据和参数可视化 先用caffe对cifar10进行训练,将训练的结果模型进行保存,得到一个caffemodel,然后从测试图片中选出一张进转载 2016-04-06 16:11:17 · 681 阅读 · 0 评论 -
Caffe学习系列(18): 绘制网络模型
Caffe学习系列(18): 绘制网络模型 - denny402 - 博客园http://www.cnblogs.com/denny402/p/5106764.htmlpython/draw_net.py, 这个文件,就是用来绘制网络模型的。也就是将网络模型由prototxt变成一张图片。在绘制之前,需要先安装两个库1、安装GraphViz# sud转载 2016-04-06 16:14:16 · 678 阅读 · 0 评论 -
Caffe学习系列(19): 绘制loss和accuracy曲线
转载自:Caffe学习系列(19): 绘制loss和accuracy曲线 - denny402 - 博客园http://www.cnblogs.com/denny402/p/5110204.html如同前几篇的可视化,这里采用的也是jupyter notebook来进行曲线绘制。 In [1]:#加载必要的库im转载 2016-04-06 19:47:34 · 849 阅读 · 0 评论 -
Caffe学习系列(20):用训练好的caffemodel来进行分类
caffe程序自带有一张小猫图片,存放路径为caffe根目录下的 examples/images/cat.jpg, 如果我们想用一个训练好的caffemodel来对这张图片进行分类,那该怎么办呢? 如果不用这张小猫图片,换一张别的图片,又该怎么办呢?如果学会了小猫图片的分类,那么换成其它图片,程序实际上是一样的。开发caffe的贾大牛团队,利用imagenet图片和caffenet模型训练转载 2016-04-06 19:48:09 · 866 阅读 · 0 评论 -
Caffe学习系列(21):caffe图形化操作工具digits的安装与运行
经过前面一系列的学习,我们基本上学会了如何在linux下运行caffe程序,也学会了如何用python接口进行数据及参数的可视化。如果还没有学会的,请自行细细阅读: caffe学习系列:http://www.cnblogs.com/denny402/tag/caffe/也许有人会觉得比较复杂。确实,对于一个使用惯了windows视窗操作的用户来说,各种命令就要了人命,甚至会非常转载 2016-04-06 19:55:09 · 781 阅读 · 0 评论 -
Caffe学习系列(22):caffe图形化操作工具digits运行实例
上接:Caffe学习系列(21):caffe图形化操作工具digits的安装与运行经过前面的操作,我们就把数据准备好了。一、训练一个model右击右边Models模块的” Images" 按钮 ,选择“classification"在打开页面右下角可以看到,系统提供了一个caffe model,分别为LeNet, AlexNet, GoogLeNet, 如果使用这三转载 2016-04-06 19:56:56 · 1026 阅读 · 0 评论 -
Caffe学习系列(23):如何将别人训练好的model用到自己的数据上
caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model。这个model将图片分为1000类,应该是目前为止最好的图片分类model了。假设我现在有一些自己的图片想进行分类,但样本量太小,可能只有几百张,而一般深度学习都要求样本量在1万以上,因此训练出来的model精度太低,根本用不上,那怎么办呢?那就用caffe团队提供给我们的model吧。因转载 2016-04-06 19:57:35 · 1702 阅读 · 0 评论 -
Caffe学习系列(14):初识数据可视化
转载自:http://www.cnblogs.com/denny402/p/5092075.html#top 首先将caffe的根目录作为当前目录,然后加载caffe程序自带的小猫图片,并显示。图片大小为360x480,三通道In [1]:import numpy as npimpor转载 2016-04-06 15:32:53 · 778 阅读 · 0 评论 -
Caffe学习系列(14):初识数据可视化
首先将caffe的根目录作为当前目录,然后加载caffe程序自带的小猫图片,并显示。图片大小为360x480,三通道In [1]:import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport caffecaffe_root='/home/xxx/caff转载 2016-04-07 08:26:10 · 676 阅读 · 0 评论 -
(Caffe)基本类Blob,Layer,Net(一)
本文地址:http://blog.csdn.net/mounty_fsc/article/details/51085654Caffe中,Blob,Layer,Net,Solver是最为核心的类,以下介绍这几个类,Solver将在下一节介绍。1 Blob1.1 简介Blob是:对待处理数据带一层封装,用于在Caffe中通信传递。也为CPU和GPU间提供同步能力数学转载 2016-06-01 19:18:45 · 666 阅读 · 0 评论 -
(Caffe)基本类Solver、Caffe、Batch(二)
本文地址:http://blog.csdn.net/mounty_fsc/article/details/510881731 Solver1.1 简介其对网络进行求解,其作用有:提供优化日志支持、创建用于学习的训练网络、创建用于评估的测试网络通过调用forward / backward迭代地优化,更新权值周期性地评估测试网络通过优化了解model及solver的状态转载 2016-06-01 19:19:55 · 515 阅读 · 0 评论 -
(Caffe)基本类InternalThread(三)
本文地址:http://blog.csdn.net/mounty_fsc/article/details/510882621 简介类InternalThread是一个虚类,是Caffe中的多线程接口,其本质为封装了boost::thread。2 继承关系说明:可见,Caffe中使用多线程的地方主要是从磁盘读取数据的地方。3 源代码/*转载 2016-06-01 19:21:17 · 436 阅读 · 0 评论 -
Caffe学习系列(16):各层权值参数可视化
原文有更新:Caffe学习系列(16):各层权值参数可视化 - denny402 - 博客园http://www.cnblogs.com/denny402/p/5103425.html通过前面的学习,我们已经能够正常训练各种model了。我们训练cifar10数据,迭代10000次,然后将训练好的 model保存起来,名称为my_iter_10000.caffemodel,转载 2016-04-06 15:43:53 · 951 阅读 · 0 评论 -
Caffe学习系列(15):计算图片数据的均值
图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。那么这个均值怎么来的呢,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中,就可以直接使用这个均值来相减,而不需要对测试图片重新计算。一、二进制格式的均值计算caffe中使用的均值数据格式是binaryproto, 作者为我们提供了一个计算均值的文件co转载 2016-04-06 15:39:36 · 1014 阅读 · 0 评论 -
Caffe学习系列(2):数据层及参数
要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成。所有的参数都定义在caffe.proto这个文件中。要熟练使用caffe,最重要的就是学会配置文件(prototxt)的编写。层有很多种类型,比如Data,Convolution,Pooling等,层之间的数据流动是以Blobs的方式进行。转载 2016-04-06 14:56:05 · 633 阅读 · 0 评论 -
Caffe学习系列(3):视觉层(Vision Layers)及参数
所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数本文只讲解视觉层(Vision Layers)的参数,视觉层包括Convolution, Pooling, Local Response Normalization (LRN), im2col等层。1、Convolutio转载 2016-04-06 14:57:03 · 596 阅读 · 0 评论 -
Caffe学习系列(4):激活层(Activiation Layers)及参数
在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输入一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。输入:n*c*h*w输出:n*c*h*w常用的激活函数有sigmoid, tanh,relu等,下面分别介绍。1、Sigmoid对每个转载 2016-04-06 14:57:59 · 417 阅读 · 0 评论 -
Caffe学习系列(5):其它常用层及参数
本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置。1、softmax-losssoftmax-loss层和softmax层计算大致是相同的。softmax是一个分类器,计算的是类别的概率(Likelihood),是Logistic Regression 的一种推广。Lo转载 2016-04-06 14:58:44 · 1124 阅读 · 0 评论 -
Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写
深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详细描述了信息是如何存储的,以及如何在层之间通讯的。1、blobBlobs封装了运行时的数转载 2016-04-06 14:59:41 · 456 阅读 · 0 评论 -
Caffe学习系列(7):solver及其配置
solver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为# caffe train --solver=*_slover.prototxt在Deep Learning中,往往loss function是非凸的,没有解析解,我们需要通过优化方法来求解。solver的主要作用就是交替调用前向(forwar转载 2016-04-06 15:00:26 · 535 阅读 · 0 评论 -
Caffe学习系列(8):solver优化方法
上文提到,到目前为止,caffe总共提供了六种优化方法:Stochastic Gradient Descent (type: "SGD"),AdaDelta (type: "AdaDelta"),Adaptive Gradient (type: "AdaGrad"),Adam (type: "Adam"),Nesterov’s Accelerated Gradient (type: "Ne转载 2016-04-06 15:03:15 · 516 阅读 · 0 评论 -
Caffe学习系列(9):运行caffe自带的两个简单例子
为了程序的简洁,在caffe中是不带练习数据的,因此需要自己去下载。但在caffe根目录下的data文件夹里,作者已经为我们编写好了下载数据的脚本文件,我们只需要联网,运行这些脚本文件就行了。注意:在caffe中运行所有程序,都必须在根目录下进行,否则会出错1、mnist实例mnist是一个手写数字库,由DL大牛Yan LeCun进行维护。mnist最初用于支票上的手写数字转载 2016-04-06 15:04:08 · 572 阅读 · 0 评论 -
Caffe学习系列(10):命令行解析
caffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。本文先对命令行进行解析,后续会依次介绍其它两个接口。caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_imageset.cpp, train_net.cpp, test_net.cpp等也放在这个文件夹内。经过编译后,这些文转载 2016-04-06 15:09:56 · 2061 阅读 · 0 评论 -
Caffe学习系列(11):图像数据转换成db(leveldb/lmdb)文件
在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文件?在caffe中,作者为我们提供了这样一个文件:convert_imageset.cpp转载 2016-04-06 15:14:31 · 618 阅读 · 0 评论 -
Caffe学习系列(12):训练和测试自己的图片
学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中。因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程。一、准备数据有条件的同学,可以去imagenet的官网http://www.image-net.org/download-images,下载imagenet图片来训练。但是我没有下载,一个原因是注册账号的时候,验证码始终转载 2016-04-06 15:22:36 · 514 阅读 · 0 评论 -
Caffe学习系列(13):数据可视化环境(python接口)配置
原文有更新:Caffe学习系列(13):数据可视化环境(python接口)配置 - denny402 - 博客园http://www.cnblogs.com/denny402/p/5088399.htmlcaffe程序是由c++语言写的,本身是不带数据可视化功能的。只能借助其它的库或接口,如opencv, python或matlab。大部分人使用python接口来进行可视化转载 2016-04-06 15:26:38 · 798 阅读 · 0 评论 -
(Caffe)基本类DataReader、QueuePair、Body(四)
本文地址:http://blog.csdn.net/mounty_fsc/article/details/510883611 简介QueuePair与Body是DataReader的内部类。一个DataReader对应一个任务,一个Body生成一个线程来读取数据库(如examples/mnist/mnist_train_lmdb)。QueuePair为前面两者之间的衔接、通信。转载 2016-06-01 19:22:07 · 380 阅读 · 0 评论