热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MobileNetvsSqueezeNetvsResNet50vsInceptionv3vsVGG16

如何解决《MobileNetvsSqueezeNetvsResNet50vsInceptionv3vsVGG16》经验,为你挑选了2个好方法。

我最近一直在研究将iOS开发人员的机器学习版本与我的应用程序结合起来.由于这是我第一次使用ML相关的任何东西,当我开始阅读Apple提供的不同型号描述时,我非常迷失.它们具有相同的目的/描述,唯一的区别是实际文件大小.这些模型之间有什么区别?您如何知道哪一个最适合?



1> Matthijs Hol..:

Apple提供的型号仅用于简单的演示目的.大多数情况下,这些模型不足以在您自己的应用程序中使用.

Apple下载页面上的模型是针对特定目的进行培训的:ImageNet数据集上的图像分类.这意味着他们可以拍摄图像并告诉您图像中的"主要"对象是什么,但前提是它是ImageNet数据集中的1,000个类别之一.

通常,这不是您想要在自己的应用中执行的操作.如果您的应用想要进行图像分类,通常您需要在自己的类别(如食物或汽车或其他)上训练模型.在这种情况下,您可以采用类似Inception-v3(原始版本,而不是Core ML版本)的内容,并在您自己的数据上重新训练它.这为您提供了一个新模型,然后您需要再次转换为Core ML.

如果您的应用程序想要执行除图像分类之外的其他操作,则可以将这些预训练模型用作更大的神经网络结构中的"特征提取器".但这又涉及到训练自己的模型(通常是从头开始),然后将结果转换为Core ML.

因此,仅在非常具体的用例中 - 使用1,000个ImageNet类别进行图像分类 - 这些Apple提供的模型对您的应用程序非常有用.

如果您确实想使用这些模型中的任何一种,它们之间的区别在于速度与精度.较小的型号速度最快,但也最不准确.(在我看来,VGG16不应该在移动设备上使用.它太大了,并不比Inception甚至MobileNet更准确.)



2> convolutionB..:

SqueezeNets是完全卷积的,并使用Fire模块,该模块具有1x1卷积的压缩层,由于可以限制每层输入通道的数量,因此极大地减少了参数。除了它们没有密集层的事实外,这使SqueezeNets的延迟极低。

MobileNets利用深度方向上可分离的卷积,与初始的初始塔非常相似。这些也减少了参数的数量,从而减少了等待时间。MobileNets还具有有用的模型缩减参数,您可以在进行训练以使其达到所需大小之前对其进行调用。Keras实现也可以使用ImageNet预训练的权重。

其他模型是非常深的大型模型。减少的参数/卷积样式数量并不是用于低延迟,而是实质上用于训练非常深的模型的能力。ResNet引入了层之间的残余连接,这些残余连接最初被认为是训练非常深的模型的关键。在前面提到的低延迟模型中看不到这些。


推荐阅读
author-avatar
莹TX_937
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有