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

摘要:Deep Residual Network学习(二) 本文承接上篇对ResNet的分析与复现:Deep Residual Network学习(一) 通过上次在Cifar10上复现ResNet的结果,我们得到了上表,最后一栏是论文中的结果,可以看到已经最好的初始化方法(MSRA)已经和论文中的结果非常 阅读全文
posted @ 2018-04-03 19:02 菜鸡一枚 阅读(469) 评论(0) 推荐(0)
摘要:caffe中batch_norm层代码详细注解 caffe中batch_norm层代码注解 一:BN的解释: 在训练深层神经网络的过程中, 由于输入层的参数在不停的变化, 因此, 导致了当前层的分布在不停的变化, 这就导致了在训练的过程中, 要求 learning rate 要设置的非常小, 另外, 阅读全文
posted @ 2018-03-19 11:23 菜鸡一枚 阅读(886) 评论(0) 推荐(0)
摘要:CAFFE源码学习笔记之batch_norm_layer 一、前言 网络训练的过程中参数不断的变化导致后续的每一层输入的分布也发生变化,而学习的过程使得每一层都需要适应输入的分布。所以就需要谨慎的选择初始化,使用小的学习率,这极大的降低了网络收敛的速度。 为了使每层的输入分布大致都在0均值和单位方差 阅读全文
posted @ 2018-03-19 11:22 菜鸡一枚 阅读(230) 评论(0) 推荐(0)
摘要:Batch Normalization Caffe版实现解析 建议先看论文Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift,这样会对本文有更好的理解; 同时使用Ba 阅读全文
posted @ 2018-03-19 11:21 菜鸡一枚 阅读(314) 评论(0) 推荐(0)
摘要:Caffe Batch Normalization推导 首先仔细看过Caffe的BN层实现的话会发现caffe的BN层与论文的是不太一致的。 没有了 γ 和 β 。(因为如果有需要的话可以再加一个scale layer。)我这里将推导出给caffe的backward注释一样的diff公式。那么我们先 阅读全文
posted @ 2018-03-19 11:20 菜鸡一枚 阅读(148) 评论(0) 推荐(0)
摘要:Caffe Batch Normalization推导 Caffe BatchNormalization 推导 总所周知,BatchNormalization通过对数据分布进行归一化处理,从而使得网络的训练能够快速并简单,在一定程度上还能防止网络的过拟合,通过仔细看过Caffe的源码实现后发现,Ca 阅读全文
posted @ 2018-03-19 11:19 菜鸡一枚 阅读(493) 评论(0) 推荐(0)
摘要:caffe的slice和concat实现MultiTask 本篇博客部分转自:http://blog.csdn.net/u013010889/article/details/53098346 http://blog.csdn.net/shuzfan/article/details/54565776 阅读全文
posted @ 2017-10-27 09:50 菜鸡一枚 阅读(1939) 评论(0) 推荐(0)
摘要:caffe代码详细注解 Caffe net:init()函数代码详细注解 Caffe 中net的初始化函数init()是整个网络创建的关键函数。在此对此函数做详细的梳理。 一、代码的总体介绍 该init()函数中主要包括以下几个函数: 1. FilterNet(in_param,&filtered_ 阅读全文
posted @ 2017-09-09 16:10 菜鸡一枚 阅读(595) 评论(0) 推荐(0)
摘要:CAFFE源码学习笔记之四-device_alternate 一、前言 common中包含的头文件中有一个device_alternate,里面主要是和cuda有关系的宏: CUDA_CHECK; CUBLAS_CHECK; CURAND_CHECK; CUDA_KERNEL_LOOP; 同时还对b 阅读全文
posted @ 2017-08-21 16:48 菜鸡一枚 阅读(939) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2017-07-30 10:04 菜鸡一枚 阅读(1) 评论(0) 推荐(0)
摘要:解析./build/tools/caffe train --solver=examples/mnist/lenet_solver.prototxt 解析./build/tools/caffe train --solver=examples/mnist/lenet_solver.prototxt 第一 阅读全文
posted @ 2017-07-16 09:41 菜鸡一枚 阅读(298) 评论(0) 推荐(0)
摘要:Caffe中Solver解析 1.Solver的初始化 caffe.cpp中的train函数中通过上述的代码定义了一个指向Solver<float>的shared_ptr。其中主要是通过调用SolverRegistry这个类的静态成员函数CreateSolver得到一个指向Solver的指针来构造s 阅读全文
posted @ 2017-07-11 16:10 菜鸡一枚 阅读(1068) 评论(0) 推荐(0)
摘要:梳理caffe代码solver(十四) 之前有一篇介绍solver的求解,也可以看官网的介绍:here ,和翻译版的介绍。 solver.hpp头文件的简单解析: [cpp] view plain copy #ifndef CAFFE_SOLVER_HPP_ #define CAFFE_SOLVER 阅读全文
posted @ 2017-07-11 16:00 菜鸡一枚 阅读(440) 评论(0) 推荐(1)
摘要:Caffe中Layer和Net细解 Layer Layer是Caffe的基本计算单元,至少有一个输入Blob(Bottom Blob)和一个输出Blob(Top Blob),部分Layer带有权值(Weight)和偏置(Bias),有两个运算方向:前向传播(Forward)和反向传播(Backwar 阅读全文
posted @ 2017-07-10 22:14 菜鸡一枚 阅读(779) 评论(0) 推荐(0)
摘要:caffe命令及其参数解析 caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_imageset.cpp, train_net.cpp, test_net.cpp等也放在这个文件夹内。经过编译后,这些文件都被编译成了可执行 阅读全文
posted @ 2017-07-08 22:06 菜鸡一枚 阅读(217) 评论(0) 推荐(0)
摘要:CAFFE源码学习笔记之初始化Filler 一、前言 为什么CNN中的初始化那么重要呢? 我想总结的话就是因为他更深一点,相比浅层学习,比如logistics或者SVM,最终问题都转换成了凸优化,函数优化的目标唯一,所以参数初始化随便设置为0都不影响,因为跟着梯度走,总归是会走向最小值的附近的。 但 阅读全文
posted @ 2017-06-25 16:03 菜鸡一枚 阅读(522) 评论(0) 推荐(0)
摘要:caffe代码阅读6:Filler的实现细节-2016.3.18 一、Filler的作用简介 Filler层的作用实际上就是根据proto中给出的参数对权重进行初始化,初始化的方式有很多种,分别为常量初始化(constant)、高斯分布初始化(gaussian)、positive_unitball初 阅读全文
posted @ 2017-06-25 11:08 菜鸡一枚 阅读(656) 评论(0) 推荐(0)
摘要:caffe中的filler.hpp源码的作用: filler.hpp文件:(它应该没有对应的.cpp文件,一切实现都是在头文件中定义的,可能是因为filler只分在网络初始化时用到那么一次吧) 1,首先定义了基类:Filler,它包括:一个纯虚函数:filler(用于在子类里根据不同的情况具体实现) 阅读全文
posted @ 2017-06-24 22:30 菜鸡一枚 阅读(251) 评论(0) 推荐(0)
摘要:caffe中权值初始化方法 首先说明:在caffe/include/caffe中的 filer.hpp文件中有它的源文件,如果想看,可以看看哦,反正我是不想看,代码细节吧,现在不想知道太多,有个宏观的idea就可以啦,如果想看代码的具体的话,可以看:http://blog.csdn.net/xize 阅读全文
posted @ 2017-06-23 11:24 菜鸡一枚 阅读(304) 评论(0) 推荐(0)
摘要:.prototxt 文件添加注释 利用#字符,在句首。 例如: # this is my annotation. 阅读全文
posted @ 2017-06-21 10:42 菜鸡一枚 阅读(1099) 评论(0) 推荐(0)