参考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. Coursera 机器学习 第5章 Neural Networks: Learning 学习笔记

    5.1节 Cost Function神经网络的代价函数. 上图回顾神经网络中的一些概念: L  神经网络的总层数. sl  第l层的单元数量(不包括偏差单元). 2类分类问题:二元分类和多元分类. 上 ...

  2. SpringBoot - 工程搭建

    SpringBoot 简介 1.Spring 的封装.其设计目的是用来简化 Spring 应用的初始搭建以及开发过程. 2.SpringCloud 微服务的基础 搭建环境 jdk 1.8 + mave ...

  3. Java Collection.Set

    package 集合; /** * Set不包含重复元素 存储顺序和取出数据不一样 * * HashSet:它不保证set的迭代顺序,特别是它不保证该顺序恒久不变 * 底层是哈希表结构的 * Link ...

  4. c#-FrameWork01

    Framwork ArrayList l  集合类似于数组,同样是用来存放连续数据的,但集合的功能比数组更强大 l  集合和数组的最大区别:数组一旦定义以后就无法改变其大小,而集合可以动态的改变其大小 ...

  5. Flask插件---flask_script与flask_migrate

    import app from flask_script import Manager from flask_migrate import Migrate,MigrateCommand my_app ...

  6. jquery.rotate.js可选抽奖次数和中奖内容的转盘抽奖demo

    需求: 最多可以抽奖5次,而且,每次只会中“2000元理财金”或者“谢谢参与”,其它的不会抽中(哈哈,果然都是套路). 效果如下: 一.页面结构: <div class="g-cont ...

  7. 针对 IE的 的优化

    针对 IE 的优化 有些时候,你需要对 IE 浏览器的 bug 定义一些特别的规则,这里有太多的 CSS 技巧(hacks),我只使用其中的两种方法,不 管微软在即将发布的 IE7 beta 版里是否 ...

  8. toMapFromStage layerDefinitions ClassBreakRenderer

    class Map 方法 toMapFromStage 用于把屏幕坐标转换为地理坐标 public function toMapFromStage(stageX:Number, stageY:Numb ...

  9. 【HTML5】HTML5 综合

    HTML5教程: 视频教程:http://www.socss.cn/html5视频教程大集合/ DCloud关于HTML5:http://ask.dcloud.net.cn/docs 开发工具:HBu ...

  10. Python装饰器AOP 不定长参数 鸭子类型 重载(三)

    1 可变长参数与关键字参数 *args代表任意长度可变参数 **kwargs代表关键字参数 用*args和**kwargs只是为了方便并没有强制使用它们. 缺省参数即是调用该函数时,缺省参数的值若未被 ...