caffe
文章平均质量分 87
等待破茧
这个作者很懒,什么都没留下…
展开
-
使用ResNet的caffe实现进行图片分类
使用ResNet的caffe实现进行图片分类GemfieldA CivilNet Maintainer背景图片分类是深度学习在图像领域的初级应用,更高阶的应用如目标检测、图像分割等。那就从最初级的应用-图像分类做起吧。准备数据准备数据包括训练集和测试集。比方说gemfield要做个224分类的应用,那么先准备好224个子目录,每个目录里放的是同一分类的照片: gemfield@ai:/bigdata/video_annotation_web/annotation_.转载 2021-03-18 16:45:09 · 374 阅读 · 0 评论 -
Caffe Layer层类详解
原文链接:https://blog.csdn.net/qiu931110/article/details/86560964简介Layer层类是Caffe中搭建网络的基本单元,当然也是使用Caffe训练的核心部件单元,因此我们将其称之为Caffe的核心积木。Layer基类派生出了各种不同功能的层类,Layer类派生出来的层类通过实现两个虚函数Forward()和Backward(),产生了各式各样功能的层类。Forward是从根据bottom计算top的过程进行前向计算,Backward则相反根据to转载 2021-03-17 16:30:40 · 679 阅读 · 0 评论 -
Yolov3转化Caffe框架详解
https://blog.csdn.net/watermelon1123/article/details/82083522下面这部分将着重讲一下如何实现从darknet向yolov3的转换,首先这一过程要感谢chenyingpeng提供的代码,博客在这里。1.加入upsample层并编译Caffeupsample层的代码在这里,密码bwrd。其中的upsample_layer.hp...转载 2020-03-31 17:26:59 · 1064 阅读 · 0 评论 -
caffe 介绍1
本文简单的讲几个事情:Caffe能做什么?为什么选择caffe?环境整体结构Protocol buffer训练基本流程Python中训练DebugCaffe能做什么?定义网络结构训练网络C++/CUDA 写的结构cmd/python/Matlab接口CPU/GPU工作模式给了一些参考模型&pretrain了的weights为什么选择caffe?模块化转载 2017-02-10 10:59:24 · 602 阅读 · 0 评论 -
caffe代码阅读1:Layer的介绍与实现细节
一、Layer的作用简介Layer实际上定义了Layer的基本操作,即初始化层、前向传播和反向传播。在前向传播中根据bottom blob得到top blob,反向传播则根据top反传到bottom。而且在前传的时候还可以计算loss,一般来说只有最后一层才会计算loss,虽然每个层都有计算loss的功能。Layer类在没有实现GPU前传和反传的时候会自动使用CPU的实现。下面给出Layer类转载 2017-02-07 14:16:25 · 916 阅读 · 0 评论 -
Caffe代码阅读8:absval_layer层的实现
这一层比较简单:主要就是求绝对值,反传部分的代码也很简单里头用到了caffe_abs这个函数以及caffe_cpu_sign这两个函数需要注意的是caffe_cpu_sign在math_functions.hpp里头定义得比较特别在math_functions.hpp里只有caffe_sign,通过一个宏定义生成了caffe_cpu_sign这个函数整体来说没啥特别转载 2017-02-07 15:35:24 · 1613 阅读 · 0 评论 -
caffe代码阅读7:Caffe中卷积的实现
一、 卷积层的作用简介卷积层是深度神经网络中的一个重要的层,该层实现了局部感受野,通过这种局部感受野,可以有效地降低参数的数目。我们将结合caffe来讲解具体是如何实现卷积层的前传和反传的。至于是如何前传和反传的原理可以参考Notes on Convolutional Neural Networks,具体请百度或者谷歌,即可下载到。Caffe中的master分支已经将vision_la转载 2017-02-07 15:33:39 · 1498 阅读 · 0 评论 -
caffe代码阅读6:SyncedMemory的j介绍与实现
一、SyncedMemory的作用简介SyncedMemory类主要负责在GPU或者CPU上分配内存以及保持数据的同步作用。SyncedMemory类主要应用在BLOB类中,我们可以在BLOB类中看出一些使用方法比如:[cpp] view plain copy // blob中的reshape 的具体实现 template转载 2017-02-07 15:28:40 · 592 阅读 · 0 评论 -
caffe代码阅读5: Data_layers的实现细节
一、Data_layers.hpp文件的作用简介Data_layers.hpp在目前caffe的master分支中已经不能存在了,分散到各个文件中去了。而之前是存在于cafferoot\include\caffe中。现在已经变成了各个类的名称的头文件了。这里做个提醒首先给出这个文件中所包含的几个与数据读取有关的类。分别为:BaseDa转载 2017-02-07 15:08:21 · 2047 阅读 · 0 评论 -
caffe代码阅读4:LayerRegistry的介绍与实现
一、LayerRegistry的作用简介LayerResistry的功能很简单,就是将类和对应的字符串类型放入到一个map当中去,以便灵活调用。主要就是注册类的功能二、LayerRegistry类的详细介绍1)构造函数和析构函数构造函数 [cpp] view plain copy // 禁止实例化,因为该类都是静态函数,所以是转载 2017-02-07 14:42:33 · 929 阅读 · 0 评论 -
caffe代码阅读3:Filler的实现
一、Filler的作用简介Filler层的作用实际上就是根据proto中给出的参数对权重进行初始化,初始化的方式有很多种,分别为常量初始化(constant)、高斯分布初始化(gaussian)、positive_unitball初始化、均匀分布初始化(uniform)、xavier初始化、msra初始化、双线性初始化(bilinear)这么几种。二、Filler类的详细介绍首先了解一转载 2017-02-07 14:31:20 · 1513 阅读 · 1 评论 -
caffe代码阅读2:DataTransformer以及io的实现细节
一、DataTransformer的作用简介该类主要负责对数据进行预处理,将Datum、const vector、cv::Mat&、vector 、Blob*类型的数据变换到目标大小的blob。此外还负责根据参数中指定的预处理参数推断出处理后的数据的shape。在正式介绍之前,先给个例子:[cpp] view plain copy转载 2017-02-07 14:22:03 · 1524 阅读 · 0 评论