文章分类 - caffe源码解析(转载)
摘要:caffe proto文件,和配置文件 要看caffe源码,我认为首先应该看的就是caffe.proto。 它位于…\src\caffe\proto目录下,在这个文件夹下还有一个.pb.cc和一个.pb.h文件,这两个文件都是由caffe.proto编译而来的。 在caffe.proto中定义了很多
阅读全文
摘要:caffe的caffe.proto 经过前面“caffe的protocol buffer使用例子”的学习,对caffe.proto熟悉了。 看caffe源码先从这里开始吧。它位于…\src\caffe\proto目录下,在这个文件夹下还有一个.pb.cc和一个.pb.h文件,这两个文件都是由caff
阅读全文
摘要:caffe源码解析 — caffe.proto 引言 要看caffe源码,我认为首先应该看的就是caffe.proto。 它位于…\src\caffe\proto目录下,在这个文件夹下还有一个.pb.cc和一个.pb.h文件,这两个文件都是由caffe.proto编译而来的。 在caffe.prot
阅读全文
摘要:caffe源码解析 — blob.cpp 主要参考:linger Reshape(const int num, const int channels, const int height, const int width) 功能:改变一个blob的大小 步骤:1.读入num_,channels_,he
阅读全文
摘要:Caffe源码(二):blob 分析 目录 目录 简单介绍 源代码分析 Reshape 函数 Blob 构造函数 data_数据操作函数 反向传播导数diff_ 操作函数 ShareData 函数 Updata 函数 asum_data 函数 asum_diff 函数 sumsq_data 函数 s
阅读全文
摘要:【Caffe代码解析】Blob 主要功能: Blob 是Caffe作为数据传输的媒介,无论是网络权重参数,还是输入数据,都是转化为Blob数据结构来存储,网络,求解器等都是直接与此结构打交道的。 其直观的可以把它看成一个有4纬的结构体(包含数据和梯度),而实际上,它们只是一维的指针而已,其4维结构通
阅读全文
摘要:caffestudy(1)-数据结构(1)以下主要是对于Caffe主页文档的总结1. 结构的生成:caffe的基本结构是采用google的proto库自动生成的,基本流程就是定义一个配置文件,扩展名为proto,调用proto库的编译器编译这个文件可以生成相应的类的c++的代码。具体的可以参见pro...
阅读全文
摘要:Caffe学习笔记1-安装以及代码结构安装按照官网教程安装,我在 OS X 10.9 和 Ubuntu 14.04 上面都安装成功了。主要麻烦在于 glog gflags gtest 这几个依赖项是google上面的需要FQ。由于我用Mac没有CUDA,所以安装时需要设置 CPU_ONLY := 1...
阅读全文
摘要:Caffe源码导读(6):LRN层的实现LRN全称为Local Response Normalization,即局部响应归一化层,具体实现在CAFFE_ROOT/src/caffe/layers/lrn_layer.cpp和同一目录下lrn_layer.cu中。该层需要参数有:norm_region...
阅读全文
摘要:Caffe代码导读(4):数据集准备Caffe上面有两个比较简单的例子:MNIST和CIFAR-10,前者是用于手写数字识别的,后者用于小图片分类。这两个数据集可以在Caffe源码框架中用脚本(CAFFE_ROOT/data/mnist/get_mnist.sh和CAFFE_ROOT/data/ci...
阅读全文
摘要:Caffe代码导读(5):对数据集进行Testing上一篇介绍了如何准备数据集,做好准备之后我们先看怎样对训练好的模型进行Testing。先用手写体识别例子,MNIST是数据集(包括训练数据和测试数据),深度学习模型采用LeNet(具体介绍见http://yann.lecun.com/exdb/le...
阅读全文
摘要:Caffe代码导读(2):LMDB简介闪电般的内存映射型数据库管理(LMDB)简介LMDB是基于二叉树的数据库管理库,建模基于伯克利数据库的应用程序接口,但做了大幅精简。整个数据库都是内存映射型的,所有数据获取返回数据都是直接从映射的内存中返回,所以获取数据时没有malloc或memcpy发生。因此...
阅读全文
摘要:Caffe代码导读(3):LevelDB例程Caffe自带例子Cifar10中使用leveldb存储输入数据,为此我们研究一下怎样使用它。安装步骤可以参考http://blog.csdn.net/kangqing2003/article/details/6658345Leveldb库提供了一种持续的...
阅读全文
摘要:Caffe代码导读(1):Protobuf例子Protobuf是一种可以实现内存与外存交换的协议接口。这是由谷歌开发的开源工具,目前研究Caffe源码时用到。一个软件项目 = 数据结构 + 算法 + 参数,对于数据结构和算法我们都已经有较多研究,但不同开发者对参数管理却各有千秋。有人喜欢TXT格式化...
阅读全文
摘要:Caffe代码导读(0):路线图【Caffe是什么?】Caffe是一个深度学习框架,以代码整洁、可读性强、运行速度快著称。代码地址为:https://github.com/BVLC/caffe【博客目的】从接触Caffe、编译运行、阅读代码、修改代码一路走来,学习到不少内容,包括深度学习理论,卷积神...
阅读全文
摘要:Caffe_Manual/get_features.cpp根据反馈,专门写了个cpp文件,可以一次前向,同时完成多层的特征提取、最后的概率输出以及Top标签输出,见get_features.cpp文件:/*** usage: get_features.exe feat.prototxt H:\Mod...
阅读全文
摘要:Caffe C++使用教程Caffe使用教程by Shicai Yang(@星空下的巫师)on 2015/08/06初始化网络#include "caffe/caffe.hpp"#include #include using namespace caffe;char *proto = "H:\\Mo...
阅读全文
摘要:caffe源码分析--softmax_layer.cpp文件位置为caffe-master/src/caffe/layers/softmax_layer.cpp这个是一个以前版本的程序,现在的代码有些不同了,不过可以参考caffe源码分析--softmax_layer.cpp[cpp]view pl...
阅读全文
摘要:Caffe4——计算图像均值均值削减是数据预处理中常见的处理方式,按照之前在学习ufldl教程PCA的一章时,对于图像介绍了两种:第一种常用的方式叫做dimension_mean(个人命名),是依据输入数据的维度,每个维度内进行削减,这个也是常见的做法;第二种叫做per_image_mean,ufl...
阅读全文
摘要:Caffe3——ImageNet数据集创建lmdb类型的数据ImageNet数据集和cifar,mnist数据集最大的不同,就是数据量特别大;单张图片尺寸大,训练样本个数多;面对如此大的数据集,在转换成lmdb文件时;使用了很多新的类型对象。1,动态扩容的数组“vector”,动态地添加新元素2,p...
阅读全文

浙公网安备 33010602011771号