caffe修炼之路--数据的基本介绍

原创 2015年02月06日 21:15:32

平台 Ubuntu14.04LTS

       这篇文章主要是讲caffe中的数据存储机制,参考资料是caffe的官网,并且本文也并非深入理解这些东西,更多的是翻译官网上的文档,然后加上自己的理解。

Blob是caffe运行过程中很重要的数据包装器,可以在CPU与GPU间传递。Blob数据是一个四维矩阵(Num, Channel, Height, Width),结合图像,很容易理解这个矩阵,其中Num就是每个batch的中包含的图像的个数,Channels就是图像的通道数,Height与Width分别是每幅图的高度与宽度。不过caffe不仅仅可以用在图像上,所以对于其他方面的应用时,可以自己调整Channels、Height、Width,以适应自己的要求。Blob存储数据时和C语言一样(与MATLAB相反)是行优先的,对于 Blob(n, k, h, w) 的位置就是((n * K + k) * H + h) * W + w  ,注意这里的大写和小写。

Blob的参数是由当前层的配置所决定的。比如对于一个包含有11*11大小的96个滤波器、输入个数为3的Blob,它的参数就是 96*3*11*11。再比如一个完全连接层,如果它由1000个输出, 1024个输入, 那么它的Blob的参数就是 1* 1 * 1000* 1024. 

关于GPU与CPU数据交换这方面,官网上有介绍,不过对于一般的用户不用去看,直接在配置文件中修改模式即可。

下面说说Layer的数据。

Layer有三个已经定义好了的标准计算:setup、forward和backward。setup就是初始化,forward定义了输入与输出之间的计算,backward定义的是偏导(given the gradient w.r.t. the top output compute the gradient w.r.t. to the input and send to the bottom. A layer with parameters computes the gradient w.r.t. to its parameters and stores it internally)。                      


版权声明:本文为博主原创文章,转载时务必将原文链接置于转载文章首部可见处,尊重博主劳动。博主研究生一枚,现在正在找工作,对深度学习非常感兴趣,希望有做这方面的公司收留,谢谢!

Caffe 在自己的数据库上训练步骤

回忆ImageNet的步骤:http://caffe.berkeleyvision.org/gathered/examples/imagenet.html Brewing ImageNet ...
  • jyl1999xxxx
  • jyl1999xxxx
  • 2016年10月15日 20:58
  • 1399

Caffe 框架介绍

1.Caffe是一种开源软件框架,内部提供了一套基本的编程框架,或者说一个模板框架,用以实现GPU并行架构下的深度卷积神经网络,Deep Learning等算法,我们可以按照框架定义各种各样的卷积神经...
  • xiaoyang19910623
  • xiaoyang19910623
  • 2016年09月20日 14:24
  • 6678

Caffe基础介绍

Caffe基础介绍!
  • fengbingchun
  • fengbingchun
  • 2015年10月31日 20:24
  • 36904

【caffe学习笔记之3】cifar10数据集简介及win10+caffe环境下运行cifar实例

参照http://blog.csdn.net/lance313/article/details/53857156帖子,使用Debug模式进行编译,则在caffe-master/build/x64/de...
  • lance313
  • lance313
  • 2017年01月01日 10:24
  • 1158

(Caffe)目录结构

本文系转载,具体出处不详 目录结构 caffe文件夹下主要文件: 这表示文件夹 data 用于存放下载的训练数据docs 帮助文档example 一些代码样例matlab MATLAB接口文件py...
  • mounty_fsc
  • mounty_fsc
  • 2016年04月01日 10:28
  • 2244

深度学习开源工具——caffe介绍

Caffe 此前听过没用过,所以报告前自己试运行了一下,参照 caffe官方教程。Caffe 安装、上手都很快,Protobuf 式的层定义很直观,模型修改或算法调整变得很容易,相当于只需要改配置文件...
  • xbinworld
  • xbinworld
  • 2015年05月15日 00:22
  • 3934

openmp的简单介绍

简单来说,由于现在电脑CPU一般都有两个核,4核与8核的CPU也逐渐走入了寻常百姓家,传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。按照我的理解,多核编程可以认为是对多线程编...
  • Allyli0022
  • Allyli0022
  • 2016年08月02日 19:10
  • 160

Caffe学习笔记:Caffe架构及其模型解析

转载请标注转载网址:http://blog.csdn.net/frd2009041510 目录(?)[+] Caffe学习笔记(一):Caffe架构及其模型解析 ...
  • laowu8615
  • laowu8615
  • 2017年04月28日 09:18
  • 434

贾扬清分享_深度学习框架caffe

Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 贾扬清,目前在Google工作。本文是根据机器学习研究会组织的online分享的交流内容,简单的整理了一下。 ...
  • Losteng
  • Losteng
  • 2016年03月07日 17:06
  • 2434

关于caffe的一些笔记

在使用caffe时所写的笔记,如有错误还望指正,O(∩_∩)O谢谢
  • zm714981790
  • zm714981790
  • 2016年11月28日 09:58
  • 635
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:caffe修炼之路--数据的基本介绍
举报原因:
原因补充:

(最多只允许输入30个字)