http://blog.csdn.net/xizero00/article/details/52529341

将这篇博客所讲进行了实现

1.LayerParameter也在caffe.proto文件中

2.头文件直接复制博客的,命名为image_scale_layer.hpp,然后放在caffe/include/caffe/layers下

3.实现文件也是直接复制博客的,命名为image_scale_layer.cpp,放在caffe/src/caffe/layers下

4.制作minist的lmdb数据,放在examples/mnist下,这个部分另一篇博客已经总结

5.在examples目录下创建文件夹imagescale,复制博客中网络的prototxt,并放在这个目录下

6.复制博客中solver的prototxt,放在examples/imagescale目录下

7.复制博客的bash文件,放在caffe目录下。然后运行这个bash文件就完成

按照博客的流程, 最后在运行shell脚本时出现了错误:

我的solver的确在那个目录下,我也不知道为何会报这个错误。之后我将脚本的命令直接输入在终端,即:

./build/tools/caffe train --solver=examples/imagescale/solver.prototxt

会出现以下错误

这时我反应过来应该是我没有生成mnist_train_lmdb这个文件,按照之前博客的方式生成之后再执行这个命令就正确了。但执行那个脚本还是报一样的错误。

之前我按照上一个博客的命令sudo sh ./examples/mnist/create_mnist.sh 生成mnist_train_lmdb,会报下面的错误:

因为我是远程访问的服务器,所以会造成现在这种permission denied的情况

总结整个流程:1.实现自己层的.hpp文件,并放在include/caffe/layers目录下

       2.实现自己层的.cpp或.cu,并放在src/caffe/layers目录下。注意:

           需要在.cpp添加注册的宏定义:1.INSTANTIATE_CLASS(MyNeuronLayer);

                         2.REGISTER_LAYER_CLASS(MyNeuron);

           如果有my_neuron_layer.cu,则添加:INSTANTIATE_LAYER_GPU_FUNCS(MyNeuronLayer);

           都是在cpp的末尾加

           如果不加,会报以下错误:

           

       3.修改src/caffe/proto/caffe.proto文件,这个文件要修改两个地方:在LayerParameter加ID号,添加实现类所需要的参数。这样你在编写 train.prototxt 或者          test.prototxt 或者 deploy.prototxt 时就能把新 Layer 的描述写进去,便于修改网络结构和替换其他相同功能的 Layer 了

       4.编译

       5.你还可以在src/caffe/test/中增加layer的测试代码,对所写的layer前传和反传进行测试,就像另一篇自己写的博客caffe单独测试添加的layer,但写测试代码

         有点麻烦

    

http://www.cnblogs.com/zf-blog/p/6551278.html

中间写的过程怎么知道自己写的正确不正确,怎么去debug是我需要继续思考的

caffe实现自己的层的更多相关文章

  1. caffe添加python数据层

    caffe添加python数据层(ImageData) 在caffe中添加自定义层时,必须要实现这四个函数,在C++中是(LayerSetUp,Reshape,Forward_cpu,Backward ...

  2. caffe之(五)loss层

    在caffe中,网络的结构由prototxt文件中给出,由一些列的Layer(层)组成,常用的层如:数据加载层.卷积操作层.pooling层.非线性变换层.内积运算层.归一化层.损失计算层等:本篇主要 ...

  3. caffe之(二)pooling层

    在caffe中,网络的结构由prototxt文件中给出,由一些列的Layer(层)组成,常用的层如:数据加载层.卷积操作层.pooling层.非线性变换层.内积运算层.归一化层.损失计算层等:本篇主要 ...

  4. (原)torch和caffe中的BatchNorm层

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6015990.html BatchNorm具体网上搜索. caffe中batchNorm层是通过Batc ...

  5. caffe源码 卷积层

    通俗易懂理解卷积 图示理解神经网络的卷积 input: 3 * 5 * 5 (c * h * w) pading: 1 步长: 2 卷积核: 2 * 3 * 3 * 3 ( n * c * k * k ...

  6. caffe win添加新层

    1.编写.h和.cpp .cu文件 将.hpp文件放到路径caffe-windows\caffe-master\include\caffe\layers下 将.cpp文件和.cu放到路径caffe-w ...

  7. caffe 中 python 数据层

    caffe中大多数层用C++写成. 但是对于自己数据的输入要写对应的输入层,比如你要去图像中的一部分,不能用LMDB,或者你的label 需要特殊的标记. 这时候就需要用python 写一个输入层. ...

  8. 【撸码caffe 五】数据层搭建

    caffe.cpp中的train函数内声明了一个类型为Solver类的智能指针solver: // Train / Finetune a model. int train() { -- shared_ ...

  9. caffe(5) 其他常用层及参数

    本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置. 1.softmax-loss so ...

随机推荐

  1. JSOI2010 联通数

    传送门 这道题的题目描述看起来很奇怪.实际上的意思是要求在这个有向图之内能到达的点对有多少,解释一下题里的图片就是(1,1),(1,2),(1,3),(1,4),(1,5),(2,2),(2,3),( ...

  2. E20170519-ts

    numeric adj. 数字的; 数值的; nibble   vt. 啃,一点一点地咬(吃); rational adj. 理性的; 合理的; n. 合理的事物; [数] 有理数; numerato ...

  3. P3158 [CQOI2011]放棋子

    传送门 题解(因为公式太多懒得自己抄写一遍了--) //minamoto #include<bits/stdc++.h> #define ll long long #define R re ...

  4. (矩阵快速幂)51NOD 1242斐波那契数列的第N项

    斐波那契数列的定义如下:   F(0) = 0 F(1) = 1 F(n) = F(n - 1) + F(n - 2) (n >= 2)   (1, 1, 2, 3, 5, 8, 13, 21, ...

  5. 购买阿里云ECS+安装宝塔面板+Mac下怎么连接阿里云ECS服务器

    1.购买阿里云ECS 2.重置实例密码 这个有点对用户不友好,实际意思就是设置服务器的root登录密码 3.配置安全组放行端口 因为服务器需要从宝塔网站download安装包,包括一些常用的服务比如S ...

  6. Kerberos原理和基础小结

    此篇文章仅做Kerberos的基本原理和基本使用做说明,本人对Kerberos了解有限,也是通过大量英文文档中翻译过来, 加上自己对Kerberos的理解所写,本人英文太菜,看文档看的头昏眼花若有写的 ...

  7. bind: Invalid argument

    出现此问题在于,listen函数在socket函数和bind函数之间. 例: /*客户端程序开始建立sockfd描述符*/ listenfd = socket(AF_INET,SOCK_STREAM, ...

  8. [GZOI2016] 亚索的量子实验【分块】

    第二题 亚索的粒子实验 [问题描述] 亚索是一名伟大的科学家,他最近在做一个粒子的实验,粒子初始有一定的能量,实验过程中倘若第i个粒子被注入k能量,那该粒子就会增加k能量,同时由于辐射作用,第2i,3 ...

  9. 题解报告:hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)

    Problem Description 急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品, ...

  10. 使用HttpClient携带证书报错_Certificate for <IP> doesn't match any of the subject alternative names:[域名]

    使用HttpClient携带pfx证书通过Https协议发送SOUP报文调用WebService接口时报如下错误: Exception in thread "main" javax ...