本文是在实现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框架下的实现相关推荐

  1. Caffe使用step by step:caffe框架下的基本操作和分析

    Caffe使用step by step:caffe框架下的基本操作和分析 时间:2015-10-16 11:40:09      阅读:808      评论:0      收藏:0      [点我 ...

  2. caffe框架下目标检测——faster-rcnn实战篇操作

    原有模型 1.下载fasrer-rcnn源代码并安装 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 1) ...

  3. tensorflow2caffe(3) : 如何将tensorflow框架下训练得到的权重转化为caffe框架下的权重参数

    版权声明:本文为博主原创文章,转载时请附加博文链接. https://blog.csdn.net/jiongnima/article/details/78382972 在前两期专栏tensorflow ...

  4. tensorflow2caffe(1) : 如何将tensorflow框架下训练得到的权重转化为caffe框架下的权重参数

    在前两期专栏tensorflow2caffe(1)和tensorflow2caffe(2)中,笔者向大家介绍了caffemodel文件类型下的参数架构和如何取出tensorflow框架下训练参数.在本 ...

  5. caffe框架下目标检测——faster-rcnn实战篇问题集锦

    1.问题 解决方案:没编译好,需要在lib下编译make 需要在caffe-fast-rcnn下编译make或者make all -j16  ,还需要make pycaffe 2.问题 解决方案:/p ...

  6. 阿里云免费GPU+caffe框架下训练自己图片

    阿里云的参考文档:https://help.aliyun.com/document_detail/49571.html 在文档里提供了caffe的一个案例,利用Caffe实现mnist的数据训练.准备 ...

  7. Caffe框架下SSD算法源码综述

    ssd源码相比于caffe架构主要添加了flatten,normal,prior,detection,multibox等层,其中最重要的难点是multibox层和multibox,通过学习ssd源码可 ...

  8. windows下使用Caffe框架和matlab实现SRCNN官方代码的步骤

    步骤 step1 搭建caffe环境 在windows系统上搭建caffe环境,并配置matlab接口(需要下载 caffe-master.zip 以及 VS2013 ) 我的环境为:windows1 ...

  9. caffe与tensorflow框架下卷积的维度计算与一致性证明

      对于卷积运算,假设输入维度为iii,卷积核的维度为www,步长为sss,这里为了叙述方便仅描述一维且忽略pad(pad可以看做已经乘以2加到输入维度中去了).在caffe框架下,按照平移的原则一步 ...

  10. tensorflow框架到caffe框架的模型转换

    本文参考以下系列内容: tensorflow2caffe(1) : caffemodel解析,caffemodel里面到底记录了什么? tensorflow2caffe(2) : 如何在tensorf ...

最新文章

  1. 【配置映射】—Entity Framework实例详解
  2. Python:在列表中查找
  3. 浅谈我的销售体会(一)
  4. [UE4]解析json数据
  5. 微信端php 开发技术要求,微信第三方平台开发详解——PHP版
  6. CentOS下如何配置LAMP环境
  7. C语言课后习题(21)
  8. R包实践:lubridate 处理时间数据
  9. loadrunner11中文版破解文档+录制脚本(图/文)
  10. JQuery插件Fullpage说明文档
  11. 生成 Excel + PDF 导出,用 Java 实现
  12. 笔记——关于每次重启之后,虚拟机网络无网络访问权限的解决方法
  13. Kindle刷安卓双系统的方法_我是亲民_新浪博客
  14. cadence17.2输出BOM清单
  15. 一个域名如何解析到多个ip地址
  16. 提高编程效率的5大VS Code插件
  17. 详解UDS CAN诊断:DiagnosticSessionControl Service(SID:0X10)
  18. JQuery实现slideToggle()滑动的效果
  19. css如何载入多种字体,在css中包含多种字体的正确方法
  20. MT7628学习笔记(20)——Feeds源修改(避免下载更新软件包速度慢)

热门文章

  1. Python绘图模块 -- turtle
  2. 惠普服务器DL380 Gen10/Gen9宕机重启
  3. Jenkins Xcode打包ipa
  4. 电脑和开发板如何串口连接
  5. 随机森林算法原理梳理
  6. CAD中插入外部参照字体会变繁体_CAD缺字体时为什么有些字体无法替换?大字体什么意思?什么是形文件?...
  7. Ubuntu vim 插件配置
  8. kmz转换为dwg_CAD软件中的PDF插件如何实现转换DWG?一篇文章完整解释
  9. Python文本处理,依次读取文本每一行,查找每一行特定位置的元素,生成列表,去重
  10. 单元测试、集成测试、系统测试和验收测试、冒烟测试、回归测试、随机测试、探索性测试和安全测试