ShuffleNet在Caffe框架下的实现
本文是在实现Github上用户farmingyard贴出的加速版ShuffleNet。下面是所包含的文件:
在之前的Caffe框架使用中,只是单纯的会把别人deploy.prototxt,
train.prototxt,solver.prototxt拿来用,制作数据集跑一跑,稍微有一点变化,例如有的网络github上只给一个deploy.prototxt文件,或者是像这样还给出 .cpp .cu .hpp文件README.md又是这样的:
在写出其他两个文件以后直接巡行会出现以下问题:
下面主要就是针对这一问题进行解决。
1、相关文件的使用问题
如果只给出了一个deploy.prototxt文件,另外两个.prototxt配置文件都是需要我们使用者根据自己的情况和所给出的deploy.prototxt自己写的。
然后像这样给出
shuffle_channel_layer.cpp
shuffle_channel_layer.cu
shuffle_channel_layer.hpp
三个文件的,基本都是网络结构中自己定义的layer,是Caffe框架本身没有的,需要我们添加到Caffe框架下。
以ShuffleNet为例,具体使用步骤是将:
shuffle_channel_layer.cpp
shuffle_channel_layer.cu
放进caffe/src/caffe/layers路径下,而
shuffle_channel_layer.hpp
放进caffe/include/caffe/layers路径下。 然后类似于函数的声明一样,我们需要在caffe/src/caffe/proto/caffe.proto文件中找到message LayerParameter{…}这条语句
在最后添加这句话:
注意,这里的164随意取,只要不和前面用过的ID重复即可:
message LayerParameter {
...
optional ShuffleChannelParameter shuffle_channel_param = 164;
...
}
然后在caffe.proto文件的最后,添加:
message ShuffleChannelParameter {optional uint32 group = 1[default = 1]; // The number of group
}
做完上述步骤后,在caffe需要重新编译,也很简单,直接在caffe文件夹下打开命令行:
make all -j4
或者:
sudo make clean
sudo make all
如果编译caffe时出现如下问题:
主要原因是我们上一步,修改了caffe.proto文件因为我们用文本编辑器打开了文件后,文本编辑器在caffe.proto文件的开头静默插入字节顺序标记。
参考博客解决:https://blog.csdn.net/qq_38451119/article/details/81980292
解决后,开始重新编译caffe。
2、开始训练
在Caffe中使用ShuffleNet层:
type: "ShuffleChannel"
然后就是准备好数据集,根据deploy.prototxt文件编写好train.prototxt和solver.prototxt 就可以开始训练了!
ShuffleNet在Caffe框架下的实现相关推荐
- Caffe使用step by step:caffe框架下的基本操作和分析
Caffe使用step by step:caffe框架下的基本操作和分析 时间:2015-10-16 11:40:09 阅读:808 评论:0 收藏:0 [点我 ...
- caffe框架下目标检测——faster-rcnn实战篇操作
原有模型 1.下载fasrer-rcnn源代码并安装 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 1) ...
- tensorflow2caffe(3) : 如何将tensorflow框架下训练得到的权重转化为caffe框架下的权重参数
版权声明:本文为博主原创文章,转载时请附加博文链接. https://blog.csdn.net/jiongnima/article/details/78382972 在前两期专栏tensorflow ...
- tensorflow2caffe(1) : 如何将tensorflow框架下训练得到的权重转化为caffe框架下的权重参数
在前两期专栏tensorflow2caffe(1)和tensorflow2caffe(2)中,笔者向大家介绍了caffemodel文件类型下的参数架构和如何取出tensorflow框架下训练参数.在本 ...
- caffe框架下目标检测——faster-rcnn实战篇问题集锦
1.问题 解决方案:没编译好,需要在lib下编译make 需要在caffe-fast-rcnn下编译make或者make all -j16 ,还需要make pycaffe 2.问题 解决方案:/p ...
- 阿里云免费GPU+caffe框架下训练自己图片
阿里云的参考文档:https://help.aliyun.com/document_detail/49571.html 在文档里提供了caffe的一个案例,利用Caffe实现mnist的数据训练.准备 ...
- Caffe框架下SSD算法源码综述
ssd源码相比于caffe架构主要添加了flatten,normal,prior,detection,multibox等层,其中最重要的难点是multibox层和multibox,通过学习ssd源码可 ...
- windows下使用Caffe框架和matlab实现SRCNN官方代码的步骤
步骤 step1 搭建caffe环境 在windows系统上搭建caffe环境,并配置matlab接口(需要下载 caffe-master.zip 以及 VS2013 ) 我的环境为:windows1 ...
- caffe与tensorflow框架下卷积的维度计算与一致性证明
对于卷积运算,假设输入维度为iii,卷积核的维度为www,步长为sss,这里为了叙述方便仅描述一维且忽略pad(pad可以看做已经乘以2加到输入维度中去了).在caffe框架下,按照平移的原则一步 ...
- tensorflow框架到caffe框架的模型转换
本文参考以下系列内容: tensorflow2caffe(1) : caffemodel解析,caffemodel里面到底记录了什么? tensorflow2caffe(2) : 如何在tensorf ...
最新文章
- 【配置映射】—Entity Framework实例详解
- Python:在列表中查找
- 浅谈我的销售体会(一)
- [UE4]解析json数据
- 微信端php 开发技术要求,微信第三方平台开发详解——PHP版
- CentOS下如何配置LAMP环境
- C语言课后习题(21)
- R包实践:lubridate 处理时间数据
- loadrunner11中文版破解文档+录制脚本(图/文)
- JQuery插件Fullpage说明文档
- 生成 Excel + PDF 导出,用 Java 实现
- 笔记——关于每次重启之后,虚拟机网络无网络访问权限的解决方法
- Kindle刷安卓双系统的方法_我是亲民_新浪博客
- cadence17.2输出BOM清单
- 一个域名如何解析到多个ip地址
- 提高编程效率的5大VS Code插件
- 详解UDS CAN诊断:DiagnosticSessionControl Service(SID:0X10)
- JQuery实现slideToggle()滑动的效果
- css如何载入多种字体,在css中包含多种字体的正确方法
- MT7628学习笔记(20)——Feeds源修改(避免下载更新软件包速度慢)
热门文章
- Python绘图模块 -- turtle
- 惠普服务器DL380 Gen10/Gen9宕机重启
- Jenkins Xcode打包ipa
- 电脑和开发板如何串口连接
- 随机森林算法原理梳理
- CAD中插入外部参照字体会变繁体_CAD缺字体时为什么有些字体无法替换?大字体什么意思?什么是形文件?...
- Ubuntu vim 插件配置
- kmz转换为dwg_CAD软件中的PDF插件如何实现转换DWG?一篇文章完整解释
- Python文本处理,依次读取文本每一行,查找每一行特定位置的元素,生成列表,去重
- 单元测试、集成测试、系统测试和验收测试、冒烟测试、回归测试、随机测试、探索性测试和安全测试