![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CAFFE
文章平均质量分 60
q295684174
这个作者很懒,什么都没留下…
展开
-
【caffe】caffe之反卷积层
1.前言 传统的CNN网络只能给出图像的LABLE,但是在很多情况下需要对识别的物体进行分割实现end to end,然后FCN出现了,给物体分割提供了一个非常重要的解决思路,其核心就是卷积与反卷积,所以这里就详细解释卷积与反卷积。 对于1维的卷积,公式(离散)与计算过程(连续)如下,要记住的是其中一个函数(原函数或者卷积函数)在卷积前要翻转180度图1 对于离散卷积,f的大转载 2018-01-15 14:56:31 · 3248 阅读 · 3 评论 -
【caffe】理解 LSTM 网络
Recurrent Neural Networks人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。传统的神经网络并不能做到这点,看起来也像是一种巨大的弊端。例如,假设你希望对电影中的每个时间点的时间类型进行分类。传统的神经网络转载 2018-01-04 17:29:48 · 1516 阅读 · 0 评论 -
【caffe】caffe层解读系列——slice和concat实现MultiTask
转载地址:http://blog.csdn.net/shuzfan/article/details/54565776 最近一段时间MultiTask网络比较流行,比如做人脸检测的时候,一个网络完成(人脸和非人脸)二分类任务的同时也要进行boudingbox回归或者人脸关键点回归。以人脸检测MTCNN为例,一个网络包含三个任务。训练的时候,一个batch中的图片,一部分用于二分类转载 2018-01-03 20:17:09 · 621 阅读 · 0 评论 -
【caffe】caffe之SGD solver
理论介绍上式中,L(w)L(w)为前向loss,N为一个mini-batch的batchsize,fw(x(i))f_{w}(x^{(i)})是单个输入数据x(i)x^{(i)}的输出loss,λ\lambda 是正则项的权重,在caffe中是weight_decay,r(w)r(w)是一个关于参数ww的正则项,在caffe中默认为L2正则项,即r(w)=w2r(w)=w^{2}。在caffe中,f原创 2017-12-15 19:50:12 · 692 阅读 · 0 评论 -
【caffe】caffe之编译错误
以下错误均为编译caffe过程中常见的错误fatal error: caffe/proto/caffe.pb.h: No such file or directory完美解决办法protoc src/caffe/proto/caffe.proto –cpp_out=. mkdir include/caffe/proto mv src/caffe/proto/caffe.pb.h includ原创 2017-12-05 17:05:40 · 825 阅读 · 0 评论 -
【caffe】caffe之pooling层
PoolingLayerLayerSetUp//主要对pooling的kernel、pad、stride进行初始化template <typename Dtype>void PoolingLayer<Dtype>::LayerSetUp(const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) { P原创 2016-11-16 10:29:19 · 2447 阅读 · 0 评论 -
【caffe】caffe之卷积层
BaseConvolutionLayerBaseConvolutionLayer::LayerSetUp在调用layer->LayerSetUp时,其实是调用的BaseConvolutionLayer::LayerSetUp,虽然BaseConvolutionLayer::LayerSetUp是虚函数,但是在其子类ConvolutionLayer里并没有重写。卷积层的LayerSetU原创 2016-11-15 19:50:02 · 1799 阅读 · 0 评论 -
【caffe】caffe结构解析(二)
这次来写写caffe是如何来solve的 在成员函数Solve()内部,template <typename Dtype>void Solver<Dtype>::Solve(const char* resume_file) { ...... // For a network that is trained by the solver, no bottom or top vecs //原创 2016-11-15 19:13:29 · 4152 阅读 · 0 评论 -
【caffe】caffe结构解析(一)
第一次实实在在的写博客,感觉挺好玩的!首先入口函数caffe.cppint main(int argc, char** argv) { ...... if (argc == 2) {#ifdef WITH_PYTHON_LAYER try {#endif return GetBrewFunction(caffe::string(argv[1]))();原创 2016-11-14 19:38:36 · 2291 阅读 · 0 评论 -
【caffe】caffe之Slice层
最近在做re-di任务时,经常要用到parts信息,因此slice层是非常有用的,但是caffe中这一层的参数需要弄明白,这里将slice层的代码解读一下。——————————————————————–caffe.proto———————————————————————–message SliceParameter { // The axis along which to slice -- ma原创 2018-01-24 17:38:51 · 2239 阅读 · 1 评论 -
【caffe】caffe之BatchNorm层
在用BatchNorm层的时候有use_global_stats和moving_average_fraction不知道什么时候用,特别是在fine-tune的时候,因此把BatchNorm层的代码给解读一下。————————————————————–caffe.proto——————————————————————–首先来看BatchNorm有哪些参数。message BatchNor原创 2018-01-24 11:34:43 · 745 阅读 · 0 评论 -
【caffe】caffe实现sharing weights
最近在Re-ID任务中有不少网络都是sharing weights的。一般都是有一个已经训练好的模型比如resnet-50,然后自己造的主网络都是有几个resnet-50的分支的,而每个分支的卷积层权重又是共享的,caffe是怎样处理的呢?经过一番折腾,终于整明白了,其实很简单。首先定位到caffe.proto,LayerParameter中有这样一项repeated ParamSpec param原创 2018-01-09 19:36:56 · 2101 阅读 · 2 评论