我有一个将近500MB的模型,客户希望将其集成到他们的iOS应用中。像这样大小的模型,如何实现呢?这似乎是一个相当受欢迎的模型,但没有任何文档或帖子显示有人实际在移动应用中使用过这个模型。是否有办法将模型托管在某个地方,然后让客户端指向托管模型的服务器?有没有压缩模型的选项?我很想听听你们是如何解决这个问题的。
该模型在这里可以找到:https://coreml.store/cnnemotions
回答:
从事深度学习/计算机视觉学术研究的人常常使用VGG16或VGG19作为基础模型,因为它们简单且效果好。不幸的是,这些模型拥有超过1亿个参数,使其不适合在移动设备上使用。
解决方案是重新设计模型,使用更小的特征提取器,如MobileNet或SqueezeNet,并重新训练。你最终会得到一个尺寸在10到20MB之间的更小模型。
这意味着你不能简单地从互联网上下载模型,然后转换为Core ML格式并期望它们能很好地工作。这需要更多的工作!