20180831随笔分类 - caffe

caffe的python接口学习(8):caffemodel中的参数及特征的抽取

摘要: 如果用公式 y=f(wx+b) 来表示整个运算过程的话,那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项。f是激活函数,有sigmoid、relu等。x就是输入的数据。 数据训练完成后,保存的caffemodel里面,实际上就是各层的w和b值。 我阅读全文

posted @ 2016-07-19 21:13 denny402 阅读(25947) | 评论 (32) 编辑

caffe的python接口学习(7):绘制loss和accuracy曲线

摘要: 使用python接口来运行caffe程序,主要的原因是python非常容易可视化。所以不推荐大家在命令行下面运行python程序。如果非要在命令行下面运行,还不如直接用 c++算了。 推荐使用jupyter notebook,spyder等工具来运行python代码,这样才和它的可视化完美结合起来。阅读全文

posted @ 2016-07-19 20:11 denny402 阅读(17219) | 评论 (25) 编辑

caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片

摘要: 经过前面两篇博文的学习,我们已经训练好了一个caffemodel模型,并生成了一个deploy.prototxt文件,现在我们就利用这两个文件来对一个新的图片进行分类预测。 我们从mnist数据集的test集中随便找一张图片,用来进行实验。 最后输出 the class is : 5 分类正确。 如阅读全文

posted @ 2016-07-19 19:05 denny402 阅读(29169) | 评论 (59) 编辑

caffe的python接口学习(5):生成deploy文件

摘要: 如果要把训练好的模型拿来测试新的图片,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而也。deploy文件没有第一层数据输入层,也没有最后的Accuracy层,但最后多了一个Softmax概率层。 这里我们采用代码的方式来自动生阅读全文

posted @ 2016-07-19 18:27 denny402 阅读(17873) | 评论 (16) 编辑

caffe的python接口学习(4):mnist实例---手写数字识别

摘要: 深度学习的第一个实例一般都是mnist,只要这个例子完全弄懂了,其它的就是举一反三的事了。由于篇幅原因,本文不具体介绍配置文件里面每个参数的具体函义,如果想弄明白的,请参看我以前的博文: 数据层及参数 视觉层及参数 solver配置文件及参数 一、数据准备 官网提供的mnist数据并不是图片,但我们阅读全文

posted @ 2016-07-19 13:30 denny402 阅读(29280) | 评论 (29) 编辑

caffe的python接口学习(3):训练模型(training)

摘要: 如果不进行可视化,只想得到一个最终的训练model, 那么代码非常简单,如下 :阅读全文

posted @ 2016-07-17 19:31 denny402 阅读(16063) | 评论 (3) 编辑

caffe的python接口学习(2):生成solver文件

摘要: caffe在训练的时候,需要一些参数设置,我们一般将这些参数设置在一个叫solver.prototxt的文件里面,如下: 有一些参数需要计算的,也不是乱设置。 假设我们有50000个训练样本,batch_size为64,即每批次处理64个样本,那么需要迭代50000/64=782次才处理完一次全部的阅读全文

posted @ 2016-07-17 18:46 denny402 阅读(15560) | 评论 (3) 编辑

caffe的python接口学习(1):生成配置文件

摘要: caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现。caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更加深入。 半年前,我在学习CAFFE的时候,为了加深理解,因此写下了随笔,有了一系列的caffe学习阅读全文

posted @ 2016-07-17 17:41 denny402 阅读(34510) | 评论 (9) 编辑

Caffe学习系列(23):如何将别人训练好的model用到自己的数据上

摘要: caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model。这个model将图片分为1000类,应该是目前为止最好的图片分类model了。 假设我现在有一些自己的图片想进行分类,但样本量太小,可能只有几百张,而一般深度学习都要求样本量在1万以上,因此训练出来的model精度阅读全文

posted @ 2016-01-17 17:57 denny402 阅读(34036) | 评论 (67) 编辑

Caffe学习系列(22):caffe图形化操作工具digits运行实例

摘要: 上接:Caffe学习系列(21):caffe图形化操作工具digits的安装与运行经过前面的操作,我们就把数据准备好了。一、训练一个model右击右边Models模块的” Images" 按钮 ,选择“classification"在打开页面右下角可以看到,系统提供了一个caffe model,分别...阅读全文

posted @ 2016-01-16 20:09 denny402 阅读(12750) | 评论 (7) 编辑

Caffe学习系列(21):caffe图形化操作工具digits的安装与运行

摘要: 经过前面一系列的学习,我们基本上学会了如何在linux下运行caffe程序,也学会了如何用python接口进行数据及参数的可视化。如果还没有学会的,请自行细细阅读: caffe学习系列:http://www.cnblogs.com/denny402/tag/caffe/也许有人会觉得比较复杂。确实,...阅读全文

posted @ 2016-01-16 19:22 denny402 阅读(20027) | 评论 (15) 编辑

Caffe学习系列(20):用训练好的caffemodel来进行分类

摘要: caffe程序自带有一张小猫图片,存放路径为caffe根目录下的 examples/images/cat.jpg, 如果我们想用一个训练好的caffemodel来对这张图片进行分类,那该怎么办呢? 如果不用这张小猫图片,换一张别的图片,又该怎么办呢?如果学会了小猫图片的分类,那么换成其它图片,程序实...阅读全文

posted @ 2016-01-07 19:49 denny402 阅读(61771) | 评论 (54) 编辑

Caffe学习系列(19): 绘制loss和accuracy曲线

摘要: 如同前几篇的可视化,这里采用的也是jupyter notebook来进行曲线绘制。In[1]:#加载必要的库import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport sys,os,caffe#设置当前目录caf...阅读全文

posted @ 2016-01-07 16:06 denny402 阅读(14950) | 评论 (20) 编辑

Caffe学习系列(18): 绘制网络模型

摘要: python/draw_net.py, 这个文件,就是用来绘制网络模型的。也就是将网络模型由prototxt变成一张图片。在绘制之前,需要先安装两个库1、安装GraphViz# sudo apt-get install GraphViz注意,这里用的是apt-get来安装,而不是pip.2 、安装p...阅读全文

posted @ 2016-01-06 20:06 denny402 阅读(18134) | 评论 (16) 编辑

Caffe学习系列(17):模型各层数据和参数可视化

摘要: cifar10的各层数据和参数可视化先用caffe对cifar10进行训练,将训练的结果模型进行保存,得到一个caffemodel,然后从测试图片中选出一张进行测试,并进行可视化。In[1]:#加载必要的库import numpy as npimport matplotlib.pyplot as p...阅读全文

posted @ 2016-01-06 15:52 denny402 阅读(16439) | 评论 (29) 编辑

Caffe学习系列(16):caffemodel可视化

摘要: 通过前面的学习,我们已经能够正常训练各种数据了。设置好solver.prototxt后,我们可以把训练好的模型保存起来,如lenet_iter_10000.caffemodel。 训练多少次就自动保存一下,这个是通过snapshot进行设置的,保存文件的路径及文件名前缀是由snapshot_...阅读全文

posted @ 2016-01-05 18:28 denny402 阅读(22966) | 评论 (30) 编辑

Caffe学习系列(15):计算图片数据的均值

摘要: 图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。那么这个均值怎么来的呢,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中,就可以直接使用这个均值来相减,而不需要对测试图片重新计算。一、二进制格式的均值计算caffe中使用的均...阅读全文

posted @ 2016-01-05 14:56 denny402 阅读(29110) | 评论 (22) 编辑

Caffe学习系列(14):初识数据可视化

摘要: 首先将caffe的根目录作为当前目录,然后加载caffe程序自带的小猫图片,并显示。图片大小为360x480,三通道In[1]:import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport caffecaffe_r...阅读全文

posted @ 2015-12-31 16:17 denny402 阅读(22762) | 评论 (21) 编辑

Caffe学习系列(13):数据可视化环境(python接口)配置

摘要: caffe程序是由c++语言写的,本身是不带数据可视化功能的。只能借助其它的库或接口,如opencv, python或matlab。大部分人使用python接口来进行可视化,因为python出了个比较强大的东西:ipython notebook, 现在的最新版本改名叫jupyter notebook...阅读全文

posted @ 2015-12-30 12:08 denny402 阅读(47497) | 评论 (46) 编辑

Caffe学习系列(12):训练和测试自己的图片

摘要: 学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中。因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程。一、准备数据有条件的同学,可以去imagenet的官网http://www.image-net.org/download-images,...阅读全文

posted @ 2015-12-28 17:47 denny402 阅读(73481) | 评论 (258) 编辑

Caffe学习系列(11):图像数据转换成db(leveldb/lmdb)文件

摘要: 在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)...阅读全文

posted @ 2015-12-28 14:00 denny402 阅读(62388) | 评论 (36) 编辑

Caffe学习系列(10):命令行解析

摘要: caffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。本文先对命令行进行解析,后续会依次介绍其它两个接口。caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_imageset.cpp, t...阅读全文

posted @ 2015-12-25 16:22 denny402 阅读(52034) | 评论 (10) 编辑

Caffe学习系列(9):运行caffe自带的两个简单例子

摘要: 为了程序的简洁,在caffe中是不带练习数据的,因此需要自己去下载。但在caffe根目录下的data文件夹里,作者已经为我们编写好了下载数据的脚本文件,我们只需要联网,运行这些脚本文件就行了。注意:在caffe中运行所有程序,都必须在根目录下进行,否则会出错1、mnist实例mnist是一个手写数字...阅读全文

posted @ 2015-12-25 11:57 denny402 阅读(50149) | 评论 (9) 编辑

Caffe学习系列(8):solver优化方法

摘要: 上文提到,到目前为止,caffe总共提供了六种优化方法:Stochastic Gradient Descent (type: "SGD"),AdaDelta (type: "AdaDelta"),Adaptive Gradient (type: "AdaGrad"),Adam (type: "Ada...阅读全文

posted @ 2015-12-24 20:25 denny402 阅读(34562) | 评论 (3) 编辑

Caffe学习系列(7):solver及其配置

摘要: solver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为# caffe train --solver=*_slover.prototxt在Deep Learning中,往往loss function是非凸的,没有解析解,...阅读全文

posted @ 2015-12-24 19:26 denny402 阅读(72450) | 评论 (9) 编辑

Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写

摘要: 深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详细描...阅读全文

posted @ 2015-12-24 16:08 denny402 阅读(22343) | 评论 (0) 编辑

Caffe学习系列(5):其它常用层及参数

摘要: 本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置。1、softmax-losssoftmax-loss层和softmax层计算大致是相同的。softmax是一个分类器,计算的是类别的概率...阅读全文

posted @ 2015-12-24 13:24 denny402 阅读(49316) | 评论 (3) 编辑

Caffe学习系列(4):激活层(Activiation Layers)及参数

摘要: 在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输入一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。输入:n*c*h*w输出:n*c*h*w常用的激活函数有sigmoid, ...阅读全文

posted @ 2015-12-24 11:27 denny402 阅读(28488) | 评论 (7) 编辑

Caffe学习系列(3):视觉层(Vision Layers)及参数

摘要: 所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数本文只讲解视觉层(Vision Layers)的参数,视觉层包括Convolution, Pooling,Local Response N...阅读全文

posted @ 2015-12-23 20:10 denny402 阅读(42877) | 评论 (15) 编辑

Caffe学习系列(2):数据层及参数

摘要: 要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成。所有的参数都定义在caffe.proto这个文件中。要熟练使用caffe,最重要的就是学会配置文件(prototxt)的编写。层有很多种类型,比如D...阅读全文

posted @ 2015-12-23 18:47 denny402 阅读(73934) | 评论 (14) 编辑

Caffe学习系列(1):安装配置ubuntu14.04+cuda7.5+caffe+cudnn

摘要: 一、版本 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 阅读(40504) | 评论 (27) 编辑

caffe windows学习:第一个测试程序

摘要: caffe windows编译成功后,就可以开始进行测试了。如果还没有编译成功的,请参考:caffe windows 学习第一步:编译和安装(vs2012+win 64)一般第一个测试都是建议对手写字体minist进行识别。这个测试放在根目录下的 .\examples\mnist\ 文件夹内。1、下...阅读全文

posted @ 2015-12-12 13:46 denny402 阅读(24380) | 评论 (11) 编辑

caffe windows 学习第一步:编译和安装(vs2012+win 64)

摘要: 没有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 阅读(21090) | 评论 (27) 编辑

Google protocol buffer在windows下的编译

摘要: 在caffe框架中,使用的数据格式是google的 protocol buffer。对这个不了解,所以,想简单学习一下。简单来说,Protocol Buffer 是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化和反序列化。一提到序列化就想到了JSON,不错,两者很相似。如果对JSON不熟...阅读全文

posted @ 2015-11-23 20:07 denny402 阅读(7246) | 评论 (0) 编辑

猜你喜欢

转载自blog.csdn.net/qq_18234121/article/details/82253829