Caffe学习--Blob分析】的更多相关文章

Caffe_blob 1.基本数据结构 Blob为模板类,可以理解为四维数组,n * c * h * w的结构,Layer内为blob输入data和diff,Layer间的blob为学习的参数.内部封装了SyncedMemory类,该类负责存储分配和主机与设备的同步 protected: shared_ptr<SyncedMemory> data_; // data指针 shared_ptr<SyncedMemory> diff_; // diff指针 vector<int&…
Caffe_Layer 1.基本数据结构 //Layer层主要的的参数 LayerParamter layer_param_; // protobuf内的layer参数 vector<shared_ptr<Blob<Dtype>*>>blobs_;//存储layer的参数, vector<bool>param_propagate_down_;//表示是否计算各个blobs反向误差. 2.主要函数接口 virtual void SetUp(const vect…
Caffe_Net 1.基本数据 vector<shared_ptr<Layer<Dtype> > > layers_; // 记录每一层的layer参数 vector<vector<Blob<Dtype>*> > bottom_vecs_; vector<vector<int> > bottom_id_vecs_; vector<vector<bool> > bottom_need_b…
Caffe学习笔记(三):Caffe数据是如何输入和输出的? Caffe中的数据流以Blobs进行传输,在<Caffe学习笔记(一):Caffe架构及其模型解析>中已经对Blobs进行了简单的介绍.下面对caffe数据是如何输入和输出做更加详细的分析. 1.输入/输出之Blobs caffe使用blobs结构来存储.交换并处理网络中正向和反向迭代时的数据和导数信息,blob是caffe的标准数组结构,是caffe中处理和传递实际数据的数据封装包,它提供了一个统一的内存接口,从数学意义上说,bl…
Caffe学习笔记(一):Caffe架构及其模型解析 写在前面:关于caffe平台如何快速搭建以及如何在caffe上进行训练与预测,请参见前面的文章<caffe平台快速搭建:caffe+window7+vs2013>.<Windows平台上Caffe的训练与学习方法(以数据库CIFAR-10为例)>. 本文主要介绍Caffe的总体框架,并对caffe模型进行解析,主要是本人的学习笔记,参考了各种资料,例如:<Caffe官方教程中译本>,网址:http://caffe.b…
0.检查配置 1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windows 7 64bit系统上安装了Ubuntu 14.04 64bit系统,链接在此,以此来搭建Caffe GPU版本): 2. 确定GPU支持CUDA 输入: lspci | grep -i nvidia 显示结果: 我的是GTX 650,然后到http://developer.nvidia.com…
caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model.这个model将图片分为1000类,应该是目前为止最好的图片分类model了. 假设我现在有一些自己的图片想进行分类,但样本量太小,可能只有几百张,而一般深度学习都要求样本量在1万以上,因此训练出来的model精度太低,根本用不上,那怎么办呢? 那就用caffe团队提供给我们的model吧. 因为训练好的model里面存放的就是一些参数,因此我们实际上就是把别人预先训练好的参数,拿来作为我们的初始化参数,而不需…
学习列表: Google protocol buffer在windows下的编译 caffe windows 学习第一步:编译和安装(vs2012+win 64) caffe windows学习:第一个测试程序 Caffe学习系列(1):安装配置ubuntu14.04+cuda7.5+caffe+cudnn Caffe学习系列(2):数据层及参数 Caffe学习系列(3):视觉层(Vision Layers)及参数 Caffe学习系列(4):激活层(Activiation Layers)及参数…
Caffe学习笔记(二):Caffe前传与反传.损失函数.调优 在caffe框架中,前传/反传(forward and backward)是一个网络中最重要的计算过程:损失函数(loss)是学习的驱动,类似于视频编码中的率失真代价,是衡量学习的程度,或者说,学习的目的是找到一个网络权重的集合,使得损失函数最小:Solver是通过协调网络的前向推断计算和反向计算来对参数进行更新,从而达到减小loss的目的. 下面将对forward and backward.loss.solver分别进行介绍. 1…
参考 http://caffe.berkeleyvision.org/tutorial/ 表达:models和optimizations使用纯文本文档形式定义,不是用代码定义: 速度:适用于工业和科研中的模型和大数据 模块性:新任务和设置可以灵活扩展 开源.社区 开始学习! Blobs, Layers, and Nets: 一个Caffe模型的基本组成 Blobs: 标准数组和统一内存接口,用于存储.通信和操作信息(数据和偏导流) Layers:模型和计算 Nets:连接层 Blobs: blo…