mobienet, shufflenet

参考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的速度优化。

时间: 2024-10-11 22:52:50

mobienet, shufflenet的相关文章

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

from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule结构(1*1,3*3,5*5的conv和3*3的pooling组合在一起),最大的亮点就是从NIN(Network in Network)中引入了1*1 conv,结构如下图所示,代表作GoogleNet 假设previous layer的大小为28*28*192,则, a的weights大小,1*

1、VGG16 2、VGG19 3、ResNet50 4、Inception V3 5、Xception介绍——迁移学习

ResNet, AlexNet, VGG, Inception: 理解各种各样的CNN架构 本文翻译自ResNet, AlexNet, VGG, Inception: Understanding various architectures of Convolutional Networks,原作者保留版权 卷积神经网络在视觉识别任务上的表现令人称奇.好的CNN网络是带有上百万参数和许多隐含层的"庞然怪物".事实上,一个不好的经验规则是:网络越深,效果越好.AlexNet,VGG,Inc

MobileNet

MobileNet (Efficient Convolutional Neural Networks for Mobile Vision Applications)--Google CVPR-2017 MobileNet引入了传统网络中原先采用的group思想,即限制滤波器的卷积计算只针对特定的group中的输入,从而大大降低了卷积计算量,提升了移动端前向计算的速度. 1.1 卷积分解 MobileNet借鉴factorized convolution的思想,将普通卷积操作分为两部分: Dept

Light Weight CNN模型的分析与总结

本文选择了4个light weight CNN模型,并对它们的设计思路和性能进行了分析与总结,目的在于为在完成图像识别任务时模型的选择与设计方面提供相关的参考资料. 1 简介 自AlexNet[1]在LSVRC-2010 ImageNet[22]图像分类任务上取得突破性进展之后,构建更深更大的convolutional neural networks(CNN)几乎成了一种主要的趋势[2-9].通常,获得state-of-the-art准确率的模型都有成百上千的网路层以及成千上万的中间特征通道,这

MnasNet阅读笔

Abstract 设计移动设备上的CNN具有挑战性,需要保证模型小速度快准确率高,人为地权衡这三方面很困难,有太多种可能结构需要考虑. 本文中作者提出了一种用于设计资源受限的移动CNN模型的神经网络结构搜索方法.作者提出将时间延迟信息明确地整合到主要目标中,这样搜索模型可以识别一个网络是否很好地平衡了准确率和时间延迟. 先前的工作中通常用其他量来代表速度指标,如FLOPS,作者的做法是在特定平台(Pixel phone)上运行模型并直接测量其时间延迟. 为适当平衡搜索的灵活性和搜索空间的大小,作

Squeeze Excitation Module 对网络的改进分析

Squeeze-and-Excitation Networks SE-net 来自于Momenta 1 SE-net的灵感 VGG 网络将 Alexnet 7*7 和 5*5  替换成了3*3 的卷积核 Wide Resnet如下右: 除此之外,GoogleNet 内部inxeption 实际使用的是一个多尺度 的结构. googlenet 是将卷积在空间维度上进行组合 ResNeXt 是将左边的分支结构极端化,在不同的通道上进行group conversation,最后concat 我们希望c

如何在手机上跑深度神经网络

这天,老板跟你说,希望能在手机上跑深度神经网络,并且准确率要和 VGG.GoogleNet 差不多. 接到这个任务后你有点懵逼,这些网络别说计算量大,就连网络参数也要 100MB 的空间才存得下,放在手机上跑?开玩笑呗. 老板又说,怎么实现是你的事,我要的只是这个功能. 你默默地点了点头. 初步尝试:MobileNet v1 问题出在哪 要在手机上跑深度网络,需要在模型参数和计算量上进行优化. 那深度神经网络的计算量和参数量主要体现在哪呢?这里以 VGG16 为例: 第一层卷积: [224 x

face recognition[MobileFaceNet]

本文来自<MobileFaceNets: Efficient CNNs for Accurate Real-Time Face Verification on Mobile Devices>,时间线为2018年4月.是北京交通大学和握奇数据公司的作品. 人脸发展至今,效果相比传统方法有了很大的提升,然而受限于机器资源和实时性部署等需求,需要考虑诸如MobileNet等网络的使用. 0 引言 在越来越多的手机和嵌入式设备上,人脸验证变成越来越流行的一个认证技术.然而,现在高准确度的人脸验证模型都

[卷积]空洞卷积的改进

文章来源: https://zhuanlan.zhihu.com/p/50369448 从这几年的分割结果来看,基于空洞卷积的分割方法效果要好一些,为此,拿出两天时间来重新思考下空洞卷积问题. - . -语义分割创新该怎么做呢. 引言 空洞卷积(Dilated/Atrous Convolution),广泛应用于语义分割与目标检测等任务中,语义分割中经典的deeplab系列与DUC对空洞卷积进行了深入的思考.目标检测中SSD与RFBNet,同样使用了空洞卷积. 标准卷积:以3*3为例,以下分辨率不