文章分类 -  caffe源码解析(转载)

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