MobileNet、SqueezeNet、ResNet50 、Inception v3、VGG16区别?
0 1417
0

最近考虑将适用于iOS开发人员的机器学习版本与我的应用程序结合在一起。因为这是第一次使用与ML相关的任何东西,所以阅读Apple提供的不同型号说明时,感觉很迷。 这些模型具有相同的用途,唯一的区别是实际文件的大小。这些模型之间有什么区别,如何知道哪一个最合适?

收藏
2021-02-11 17:19 更新 正直的烤面包 •  3996
共 1 个回答
高赞 时间
0

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

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

通常,这不是你想要在自己的应用程序中执行的操作。如果你的应用程序想要进行图像分类,通常希望按照自己的类别(例如食物或汽车等)训练模型。在这种情况下,可以采用Inception-v3之类的东西(原始版本,而不是Core ML版本),然后根据自己的数据对其进行重新训练。这提供了一个新模型,然后需要再次将其转换为Core ML。

如果你的应用程序想要做除了图像分类之外的其他事情,则可以在较大的神经网络结构中将这些经过预训练的模型用作为“特征提取器”。但这又涉及训练你自己的模型(通常是从头开始),然后将结果转换为Core ML。

因此,只有在非常特定的用例(使用1000个ImageNet类别的图像分类)中,这些Apple提供的模型才对你的应用有用。

如果确实想使用这些模型中的一个,则它们之间的区别在于速度与准确性。最小的模型最快,但最不准确。 (我认为,VGG16不应该在移动设备上使用,因为它太大了,比Inception甚至MobileNet都不准确。)

转载自https://stackoverflow.com/a/46192845/15018571

收藏
2021-02-11 17:25 更新 阿托 •  17013