随笔分类 - caffe
DL工具
摘要:如果用公式 y=f(wx+b) 来表示整个运算过程的话,那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项。f是激活函数,有sigmoid、relu等。x就是输入的数据。 数据训练完成后,保存的caffemodel里面,实际上就是各层的w和b值。 我
阅读全文
摘要:使用python接口来运行caffe程序,主要的原因是python非常容易可视化。所以不推荐大家在命令行下面运行python程序。如果非要在命令行下面运行,还不如直接用 c++算了。 推荐使用jupyter notebook,spyder等工具来运行python代码,这样才和它的可视化完美结合起来。
阅读全文
摘要:经过前面两篇博文的学习,我们已经训练好了一个caffemodel模型,并生成了一个deploy.prototxt文件,现在我们就利用这两个文件来对一个新的图片进行分类预测。 我们从mnist数据集的test集中随便找一张图片,用来进行实验。 最后输出 the class is : 5 分类正确。 如
阅读全文
摘要:如果要把训练好的模型拿来测试新的图片,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而也。deploy文件没有第一层数据输入层,也没有最后的Accuracy层,但最后多了一个Softmax概率层。 这里我们采用代码的方式来自动生
阅读全文
摘要:深度学习的第一个实例一般都是mnist,只要这个例子完全弄懂了,其它的就是举一反三的事了。由于篇幅原因,本文不具体介绍配置文件里面每个参数的具体函义,如果想弄明白的,请参看我以前的博文: 数据层及参数 视觉层及参数 solver配置文件及参数 一、数据准备 官网提供的mnist数据并不是图片,但我们
阅读全文
摘要:如果不进行可视化,只想得到一个最终的训练model, 那么代码非常简单,如下 :
阅读全文
摘要:caffe在训练的时候,需要一些参数设置,我们一般将这些参数设置在一个叫solver.prototxt的文件里面,如下: 有一些参数需要计算的,也不是乱设置。 假设我们有50000个训练样本,batch_size为64,即每批次处理64个样本,那么需要迭代50000/64=782次才处理完一次全部的
阅读全文
摘要:caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现。caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更加深入。 半年前,我在学习CAFFE的时候,为了加深理解,因此写下了随笔,有了一系列的caffe学习
阅读全文
摘要:caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model。这个model将图片分为1000类,应该是目前为止最好的图片分类model了。 假设我现在有一些自己的图片想进行分类,但样本量太小,可能只有几百张,而一般深度学习都要求样本量在1万以上,因此训练出来的model精度
阅读全文
摘要:上接:Caffe学习系列(21):caffe图形化操作工具digits的安装与运行经过前面的操作,我们就把数据准备好了。一、训练一个model右击右边Models模块的” Images" 按钮 ,选择“classification"在打开页面右下角可以看到,系统提供了一个caffe model,分别...
阅读全文
摘要:经过前面一系列的学习,我们基本上学会了如何在linux下运行caffe程序,也学会了如何用python接口进行数据及参数的可视化。如果还没有学会的,请自行细细阅读: caffe学习系列:http://www.cnblogs.com/denny402/tag/caffe/也许有人会觉得比较复杂。确实,...
阅读全文
摘要:caffe程序自带有一张小猫图片,存放路径为caffe根目录下的 examples/images/cat.jpg, 如果我们想用一个训练好的caffemodel来对这张图片进行分类,那该怎么办呢? 如果不用这张小猫图片,换一张别的图片,又该怎么办呢?如果学会了小猫图片的分类,那么换成其它图片,程序实...
阅读全文
摘要:如同前几篇的可视化,这里采用的也是jupyter notebook来进行曲线绘制。In[1]:#加载必要的库import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport sys,os,caffe#设置当前目录caf...
阅读全文
摘要:python/draw_net.py, 这个文件,就是用来绘制网络模型的。也就是将网络模型由prototxt变成一张图片。在绘制之前,需要先安装两个库1、安装GraphViz# sudo apt-get install GraphViz注意,这里用的是apt-get来安装,而不是pip.2 、安装p...
阅读全文
摘要:cifar10的各层数据和参数可视化先用caffe对cifar10进行训练,将训练的结果模型进行保存,得到一个caffemodel,然后从测试图片中选出一张进行测试,并进行可视化。In[1]:#加载必要的库import numpy as npimport matplotlib.pyplot as p...
阅读全文
摘要:通过前面的学习,我们已经能够正常训练各种数据了。设置好solver.prototxt后,我们可以把训练好的模型保存起来,如lenet_iter_10000.caffemodel。 训练多少次就自动保存一下,这个是通过snapshot进行设置的,保存文件的路径及文件名前缀是由snapshot_...
阅读全文
摘要:图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。那么这个均值怎么来的呢,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中,就可以直接使用这个均值来相减,而不需要对测试图片重新计算。一、二进制格式的均值计算caffe中使用的均...
阅读全文
摘要:首先将caffe的根目录作为当前目录,然后加载caffe程序自带的小猫图片,并显示。图片大小为360x480,三通道In[1]:import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport caffecaffe_r...
阅读全文
摘要:caffe程序是由c++语言写的,本身是不带数据可视化功能的。只能借助其它的库或接口,如opencv, python或matlab。大部分人使用python接口来进行可视化,因为python出了个比较强大的东西:ipython notebook, 现在的最新版本改名叫jupyter notebook...
阅读全文
摘要:学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中。因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程。一、准备数据有条件的同学,可以去imagenet的官网http://www.image-net.org/download-images,...
阅读全文