新版caffe添加自己的层(目前只学会添加,我想要添加的loss还没能实现)
来源:互联网 发布:怎么往云镜上下载软件 编辑:程序博客网 时间:2024/05/22 13:54
今天实现了在caffe框架中加入一个层,完成欧式距离的任务。之所以这样,是因为还没有实现自己想要的loss,只是试着学者,看能不能把添加层的流程顺下来。最后实现了。
(一)总体框架
1)在./src/caffe/proto/caffe.proto 中增加 对应layer的paramter message;查找euclidean,然后根据euclidean_loss加一个whole_loss,加一个数就可以了。
2)在./include/caffe/layers/ 文件夹中增加该layer的类的声明.h文件,直接将欧式距离的hpp文件euclidean_loss_layer.h复制,命名为whole_loss_layer.h,然后打开文件,将euclidean替换为whole,注意大小写。
3)在./src/caffe/layers/目录下新建.cpp和.cu文件,进行类实现。也是复制,然后改文件名,替换文件中的euclidean,注意大小写。
4)在./src/caffe/gtest/中增加layer的测试代码,对所写的layer前传和反传进行测试,测试还包括速度。
最后一步很多人省了,或者没意识到,但是为保证代码正确,建议还是严格进行测试,磨刀不误砍柴功。
(二)编译
make all -j 8
(三)测试
找一个工程代码,将代码中的network定义文件中的euclidean_loss_layer层换为whole_loss_layer层
注意:一定要注意细节,大小写
下一步:实现自己的损失函数,要用cblas函数改写。
1 0
- 新版caffe添加自己的层(目前只学会添加,我想要添加的loss还没能实现)
- caffe-windows添加自己的loss层
- caffe添加自己的层
- 【Caffe实践】 添加自己的网络层
- 【Caffe实践】 添加自己的网络层
- Caffe 中添加自己的网络层
- Caffe添加自定义层-自定义loss
- caffe添加层的步骤
- caffe添加新的层
- Caffe添加自定义的层
- caffe 自定义层/添加自己的损失函数
- caffe中添加自己的layer(以triplet loss为例)
- eclipse添加自己想要的字体
- 添加自己的网络层
- center loss代码注释(caffe新添加层)
- 修改caffe源代码--添加loss(层)函数--CPU
- 修改caffe源代码--添加loss(层)函数--GPU
- 修改caffe源代码从添加loss(层)函数开始
- heapify的总结
- Thread和Runnable实现多线程的区别
- NOIP提高组【JZOJ4814】tree
- java 剪切板 clipboard.js 与 ZeroClipboard.swf
- HDU 4185 Oil Skimming 【离散化二分匹配 黑白染色】
- 新版caffe添加自己的层(目前只学会添加,我想要添加的loss还没能实现)
- JZOJ 4812 【NOIP2016提高A组五校联考2】string
- 线程中断
- V7 Actionbar 仿微信首页的头部效果
- 守护线程与阻塞线程的四种情况
- Asia Hong Kong Online Preliminary A (FFT)
- synchronized
- Hdu-5412 CRB and Queries(整体二分)
- 链接