caffe
Serrie.
心存敬畏
展开
-
caffe:debug流程之代码网络搭建过程(train)
接上一篇:caffe之debug总流程分析https://blog.csdn.net/qq249356520/article/details/89305510在执行完caffe.cpp中solver函数createSolver后,原型如下:即读取train_test.proto文件搭建网络。进入CreateSolver(solver_factory.hpp)...原创 2019-04-16 13:11:00 · 932 阅读 · 0 评论 -
caffe:debug之数据预取流程
在caffe中我们经常会看到数据读取,但对其入口函数却无从下手。其实训练和预取数据在caffe中是使用了不同的线程,所以在网络训练流程中找不到数据读取的源码。现在我们来分析一下caffe的另一个线程,perfetchingData。读取数据在搭建网络,第一次测试所给权重损失(TestAll),和整个网路训练测试时候的前向传播(Forward(layer.cpp))中都频繁出现。具体如下:...原创 2019-04-17 08:42:56 · 273 阅读 · 0 评论 -
caffe:debug初次训练之TestAll前向传播(以Lenet为例,接debug总分析)
在testAll(位于solver.cpp)函数中进入---->test()其中test()进行对权重初始化后的LOSS检测并返回其中包含函数即将配置文件中的写好的net复制分享给程序创建网络,具体实现见函数然后进入test()中调用的Forward(net.cpp)---> Forw...原创 2019-04-17 14:11:01 · 410 阅读 · 0 评论 -
caffe:debug之反向传播(以Lenet为例,接上篇前向传播)
本文接第一次处理TestAll,在退出TestAll后,即开始正式迭代训练网络。step中继续执行其他过程然后进入ForwardBackward()函数上述函数定义在net.hpp中其中Forward函数即在testAll中提到的net.cpp的Forward函数Forward详细说明以及步骤都在TestAll中讲解完毕。其一...原创 2019-04-17 14:15:08 · 389 阅读 · 0 评论 -
caffe:debug之参数更新过程(接上篇反向传播)
随后便要根据后向传播中得到得diff更新权重和偏置ApplyUpdate(位于sgd_solver.cpp)上图便为update函数,可见,参数学习得步骤为:得到学习率,正则化梯度后归一化,正则化,然后更新数据。首先来看GetLearningRate() (sgd_solver.cpp)函数封装了各种样式的学习率衰减方式...原创 2019-04-17 14:16:36 · 289 阅读 · 0 评论 -
caffe:debug之test(最终篇)
现在我们来看test过程将此处命令参数改为test并且内容改为下图样式时即可运行test同train函数一样,现在我我们进入test函数,看看test(caffe.cpp)中究竟干了些什么test函数简单粗暴其介绍为没错 score a model,接下来进入正题:test同样先检测是使用cpu还是gpu进行测试。随后...原创 2019-04-17 14:17:31 · 693 阅读 · 0 评论 -
Caffe debug总流程分析(train)
caffe源码(带详细中文注释---windows版本):https://github.com/qq249356520/caffe_comment_chinese如下展示的是以minst手写字符检测为例,数据集为cifar-10网络数据库中图片,图片大小为24*24。所使用的网络是经典的LeNet网络,接下来便以LeNet网络为例执行caffe代码debug,以明确caffe运行流程。...原创 2019-04-15 09:00:33 · 295 阅读 · 0 评论