参考github上各位大神的代码

mobilenet和shufflenet,实现起来感觉还是各种问题。

mobilenet目前使用的代码来自这里:https://github.com/BVLC/caffe/pull/5665/files。 而shufflenet我用的是:https://github.com/farmingyard/ShuffleNet

之前用官方的caffe训练mobilenet,速度超级慢,而且官方的caffe不知道为什么,minibatch只能为1,显存没有优化好的问题caffe一直是诟病啊。后来用了我们自己的版本,显存可以上去了,但是速度依然很忙。而训练结束后,inference也超慢。而且根据caffe的forloop的实现方式,group conv的group越多,速度会越慢,而mobilenet是group最多的,因此速度很慢很慢。后来参考上面的代码,重新训练了一次,mobilenet速度一下子快多了。具体就是矩阵计算的优化其实,但是我其实就知道单纯的forloop肯定不行的,这年头不并行怎么可以啊。而且GPU有自己的forloop优化,还有就是其实GPU卡的矩阵计算,利用sharememory等,速度可以快不少的。

目前训练mobilenet40万次了,调学习率前,52%的top1,76的top5.不知道调完学习率能不能增加10个点,如果可以的话,那说明代码还靠谱的。而要说的是inference比起来官方的group conv快太多了,1s大概能测试100张吧。

shufflenet因为里面有group conv,其实用的也是caffe自己的,但是group取3时速度还可以接受,不像mobilenet,group和outputnum一样,速度奇慢。目前shufflenet的效果应该也还可以,但是能不能像文章中说的,还需要测试。

不怎么做优化工作,持续关注。打算去看看mobilenet的速度优化。

mobienet, shufflenet的更多相关文章

  1. ShuffleNet总结

    在2017年末,Face++发了一篇论文ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devic ...

  2. 机器视觉:MobileNet 和 ShuffleNet

    虽然很多CNN模型在图像识别领域取得了巨大的成功,但是一个越来越突出的问题就是模型的复杂度太高,无法在手机端使用,为了能在手机端将CNN模型跑起来,并且能取得不错的效果,有很多研究人员做了很多有意义的 ...

  3. 轻量架构ShuffleNet V2:从理论复杂度到实用设计准则

    转自:机器之心 近日,旷视科技提出针对移动端深度学习的第二代卷积神经网络 ShuffleNet V2.研究者指出过去在网络架构设计上仅注重间接指标 FLOPs 的不足,并提出两个基本原则和四项准则来指 ...

  4. 【论文阅读】ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

    ShuffleNet: An Extremely Efficient Convolutional Neural Network for MobileDevices

  5. 面向移动端的轻量级神经网络模型mobilenet、ShuffleNet

    翻译: http://baijiahao.baidu.com/s?id=1565832713111936&wfr=spider&for=pc http://baijiahao.baid ...

  6. ShuffleNet

    ShuffleNet (An Extremely Efficient Convolutional Neural Network for Mobile Devices) —— Face++ shuffl ...

  7. 从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2

    from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule ...

  8. 图像分类丨浅析轻量级网络「SqueezeNet、MobileNet、ShuffleNet」

    前言 深度卷积网络除了准确度,计算复杂度也是考虑的重要指标.本文列出了近年主流的轻量级网络,简单地阐述了它们的思想.由于本人水平有限,对这部分的理解还不够深入,还需要继续学习和完善. 最后我参考部分列 ...

  9. ShuffleNet:

    ShuffleNet算法详解 论文:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices ...

随机推荐

  1. C#事件(event)解析委托

    namespace Vczx.ProCSharp.Event { /// <summary> /// 类EatEventArgs 必须继承自类EventArgs,用来引发事件时封装数据 / ...

  2. cf375D. Tree and Queries(莫队)

    题意 题目链接 给出一棵 n 个结点的树,每个结点有一个颜色 c i . 询问 q 次,每次询问以 v 结点为根的子树中,出现次数 ≥k 的颜色有多少种.树的根节点是1. Sol 想到了主席树和启发式 ...

  3. css控制文本单行或者多行溢出显示为省略号...

    p:first-child { background-color: pink; width: 150px; line-height: 28px; font-size: 20px; overflow: ...

  4. js数组的sort排序的原理和应用

    1.js sort()方法的应用: 首先:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串( ...

  5. PHP连接MySQL数据库的几种方式

    PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi :MySQLi 只针对 MySQL 数据库,MySQLi 还提供了 API 接口. PDO (PHP Data Objects ...

  6. scala之Duration

    import scala.concurrent.duration._ val duration = Duration(100, MILLISECONDS) val duration = Duratio ...

  7. 1.LVS理论基础

    查看我的有道云笔记: http://note.youdao.com/noteshare?id=68e0ca45757943e482ba390d4d49369f&sub=4A2A593CDE2D ...

  8. apache poi根据模板导出excel

    需要预先新建编辑好一个excel文件,设置好样式. 编辑好输出的数据,根据excel坐标一一对应. 支持列表数据输出,列表中列合并. 代码如下: package com.icourt.util; im ...

  9. C++ 下使用curl 获取ftp文件

    从http://curl.haxx.se/下载的win32版本的curl都不能使,#include <curl.h>后总是报错:external symbol ,意思就是没有链接到curl ...

  10. 团队第三次scrum

    长大一条龙之课表查询 一.设计概要 本次内容主要是实现了长大一条龙系统的课表查询功能,我们的这个项目严格遵守MVC架构,采用前后端分离的策略.我们将课表查询分为二层,DAO层:负责与数据进行交互,读写 ...