
caffe
文章平均质量分 82
FishBear_move_on
github 地址 https://github.com/Jayhello
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Caffe学习:Blobs, Layers, and Nets
目录: 原文Blob storage and communication Implementation Details Layer computation and connectionsNet definition and operation模型定义 原文 深度神经网络(Deep networks)是由许多相互关联的Layer组成的。Caffe定义了一转载 2016-08-24 20:24:50 · 727 阅读 · 0 评论 -
caffe源码分析-layer
本文主要分析caffe layer层,主要内容如下: 从整体上说明下caffe的layer层的类别,以及作用 通过proto定义与类Layer简要说明下Layer的核心成员变量; Layer类的核心成员函数 1. 类Layer overview caffe中的Layer主要分为如下几个模块: 输入层Data Layers Data Layers定义了caffe中网络的输入,依...原创 2018-10-07 10:01:55 · 1514 阅读 · 1 评论 -
caffe源码分析-ReLULayer
激活函数如:ReLu,Sigmoid等layer相对较为简单,所以在分析InnerProductLayer前,我们先看下激活函数层。 常见激活层ReLU的使用示例如下: layer { name: "relu1" type: "ReLU" bottom: "conv1" top: "conv1" } 我们可以看到bottom和原创 2018-10-07 10:09:18 · 1022 阅读 · 0 评论 -
caffe源码分析-inner_product_layer
本文主要分析caffe inner_product_layer源码,主要内容如下: 结合使用以及proto定义介绍InnerProductLayer的参数; 简要分析Filler初始化,caffe中的layer参数,例如constant, gaussian; InnerProductLayer的函数 核心LayerSetUp参数初始化, Reshape, Forward_cpu以及矩阵...原创 2018-10-07 10:21:23 · 1034 阅读 · 0 评论 -
caffe源码分析-layer_factory
caffe中有许多的layer,在net中创建连接layer是通过工厂模式的方式创建,而不是每一个new然后连接。在net.cpp中创建layer方式如下: layers_.push_back(LayerRegistry<Dtype>::CreateLayer(layer_param)); 下面简要分析下layer_factory template<typename Dtype...原创 2018-10-07 10:33:23 · 1058 阅读 · 0 评论 -
caffe源码分析-InputLayer
对于输入层,我们首先分析最简单的InputLayer层,其常作为网络inference时的输入,简单的mnist使用示例如下: layer { name: "data" type: "Input" top: "data" input_param { shape: { dim: 1 dim: 1 dim: 28 dim: 28 } } } proto中相关的参数如下: // Sp...原创 2018-10-07 10:37:32 · 1735 阅读 · 0 评论 -
caffe源码分析-BlockingQueue
BlockingQueue线程安全的队列, 作为caffe训练时数据同步的重要数据结构,本文做简要分析。 template&lt;typename T&gt; class BlockingQueue { public: explicit BlockingQueue(); void push(const T&amp; t); bool try_pop(T* t);// n...原创 2018-10-07 10:43:16 · 1251 阅读 · 1 评论 -
caffe源码分析-InternalThread
InternalThread封装自boost::thread的线程,主要用于多线程的数据获取(可以理解为solver前向传播的同时,后台线程继续获取下一个batch的数据集): class InternalThread { public: InternalThread() : thread_() {} virtual ~InternalThread(); //Caffe's...原创 2018-10-07 10:59:10 · 962 阅读 · 0 评论 -
caffe源码分析-DataReader
DataReader作为DataLayer的数据成员变量,以多线程的方式从数据库(如lmdb, hdf5)读取数据: class DataReader { public: explicit DataReader(const LayerParameter&amp; param); ~DataReader(); inline BlockingQueue&lt;Datum*&g...原创 2018-10-07 11:02:33 · 1341 阅读 · 0 评论 -
caffe源码分析-DataLayer
DataLayer作为caffe训练时的数据层(以多线程的方式读取数据加速solver的训练过程),继承自BaseDataLayer/BasePrefetchingDataLayer。 template &lt;typename Dtype&gt; class BaseDataLayer : public Layer&lt;Dtype&gt; { public: explicit Base...原创 2018-10-07 11:09:42 · 1264 阅读 · 0 评论 -
caffe源码分析-DataTransformer
本文主要分析caffe中DataTransformer这个类, 主要作用是: 将Datum类型或者cv::Mat, 转化为caffe的Blob&lt;Dtype&gt;,并按照Transformation``Parameter参数对图像做处理,例如scale,mirro等 推断blob的shape proto定义如下: // Message that stores parameters...原创 2018-10-07 11:13:38 · 1957 阅读 · 0 评论 -
caffe源码分析-db, io
本文主要分析下caffe的源码,io操作,以及数据库文件(如lmdb)读取。 例如,从prototxt读取网络初始化参数: NetParameter param; ReadNetParamsFromTextFileOrDie(path, &amp;param); bool ReadProtoFromTextFile(const char *filename, Message *proto) { ...原创 2018-10-07 11:20:26 · 1659 阅读 · 0 评论 -
caffe源码分析-Blob
本文主要分析caffe源码分析-Blob,主要如下几个方面: overview整体上了解caffe的Blob Blob 成员变量 Blob主要函数,核心在于Blob的使用实例以及其与opencv Mat的操作的相互转化(附带运行结果基于CLion) overview Blob 是Caffe作为数据传输的媒介,无论是网络权重参数,还是输入数据,都是转化为Blob数据结构来存储,网络,求解器...原创 2018-09-12 21:20:50 · 3073 阅读 · 1 评论 -
caffe源码分析-SyncedMemory
本文主要分析caffe中Blob内存管理类SyncedMemory,主要内容包括: SyncedMemory和Blob的关系 SyncedMemory中的方法,如内存的分配、释放 SyncedMemory中内存的申请,是在数据访问时才分配而不是立马分配(通过enum SyncedHead状态实现) SyncedMemory和Blob的关系 Blob中的主要数据成员如下,实际是在Syn...原创 2018-09-12 21:00:04 · 1234 阅读 · 0 评论 -
caffe源码分析-cmake 工程构建
本文主要说明下,caffe源码分析过程中的cmake(结合IDE CLion)工程构建问题。在分析caffe源码的过程中,我没有仅仅只是看代码,而是: 自己从头构建一遍工程,这样能让我更好的了解大型的项目的构建。当然原始的caffe的构建感觉还是比较复杂(主要是cmake),我这里仅仅使用cmake构建,而且简化点,当然最重要的是支持CLion直接运行调试。 从Blob文件开始从头开始复制每一...原创 2018-09-12 20:51:05 · 1982 阅读 · 5 评论 -
从零开始山寨Caffe·陆:IO系统(一)
http://www.cnblogs.com/neopenx/p/5248102.html 传统弱校HFUT的蒟蒻,其幕后身份是,大魔导师(= ̄ω ̄=)。字体发虚右转MacType。 从零开始山寨Caffe·陆:IO系统(一) 你说你学过操作系统这门课?写个无Bug的生产者和消费者模型试试! ——你真的学好了操作系转载 2016-08-24 20:26:11 · 721 阅读 · 0 评论 -
ffmpeg 入门
http://einverne.github.io/post/2015/12/ffmpeg-first.html Posted on December 21, 2015 , Last modified on December 31, 2015 by Ein Verne | View revision history 那天需要将一段视频文件转成gif,偶遇ffmpeg,于是就转载 2016-09-20 09:50:33 · 2706 阅读 · 0 评论 -
Caffe学习系列(12):训练和测试自己的图片
学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中。因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程。 一、准备数据 有条件的同学,可以去imagenet的官网http://www.image-net.org/download-images,下载imagenet图片来训练。但是我没有下载,一个原因是注册账号的时候,验证码始终转载 2016-10-09 16:05:59 · 723 阅读 · 0 评论 -
Caffe学习系列(23):如何将别人训练好的model用到自己的数据上
http://www.cnblogs.com/denny402/p/5137534.html caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model。这个model将图片分为1000类,应该是目前为止最好的图片分类model了。 假设我现在有一些自己的图片想进行分类,但样本量太小,可能只有几百张,而一般深度学习都要求样本量在1万以上,因此训练出来的转载 2016-11-09 18:04:37 · 469 阅读 · 0 评论 -
Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写
http://www.cnblogs.com/denny402/p/5073427.html 深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详转载 2017-01-17 11:14:41 · 363 阅读 · 0 评论 -
caffe 依赖的作用
1. Boost库:它是一个可移植、跨平台,提供源代码的C++库,作为标准库的后备。 在Caffe中用到的Boost头文件包括: (1)、shared_ptr.hpp:智能指针,使用它可以不需要考虑内存释放的问题; (2)、date_time/posix_time/posix_time.hpp:时间操作函数; (3)、Python.hpp:C++/Python互操转载 2017-01-12 20:16:04 · 401 阅读 · 0 评论 -
深度卷积网络CNN与图像语义分割
2015-08-16 / xiahouzuoxin Tags: CNN 转载请注明出处: http://xiahouzuoxin.github.io/notes/ 级别1:DL快速上手级别2:从Caffe着手实践级别3:读paper,网络Train起来级别4:Demo跑起来 读一些源码玩玩熟悉Caffe接口,写Demo这是硬功夫分析各层Layer输出特征 级别5:何不自己转载 2017-01-19 11:39:55 · 776 阅读 · 0 评论 -
Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet
作者:我爱机器学习 链接:https://zhuanlan.zhihu.com/p/22094600 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 CNN的发展史 上一篇回顾讲的是2006年Hinton他们的Science Paper,当时提到,2006年虽然Deep Learning的概念被提出来了,但是学术界的大家还是表示不服。当时有流传的段子转载 2017-02-10 10:25:15 · 2183 阅读 · 0 评论 -
caffe c++示例(mnist 多层感知机c++训练,测试)
caffe训练网络模型一般直接使用的caffe.bin: caffe train -solver solver.prototxt,其实这个命令的本质也是调用c++的Solver. 本文给出使用纯c++代码,使用mnist数据+多层感知机网络,训练数字分类问题。然后用C++调用训练好的模型测试分类。 solver.prototxt文件内容如下: net: &quot;/home/xy/caffe_analys...原创 2018-10-07 15:39:53 · 5894 阅读 · 13 评论