您的当前位置:首页正文

Core ML框架详细解析(七) —— 减少Core ML应用程

2024-12-10 来源:伴沃教育

版本记录

版本号 时间
V1.0 2018.10.16 星期二

前言

Overview - 概览

减少应用程序包中Core ML模型使用的存储空间。

在您的应用程序中将您的机器学习模型放在App包里是开始使用Core ML的最简单方法。 随着模型变得更加先进,它们可能变得更大并占用大量存储空间。 对于基于神经网络的模型,请考虑通过对其权重参数使用较低精度的表示来减少其占用空间。 如果您的模型不是可以使用半精度的神经网络,或者您需要进一步缩小应用程序的大小,请添加在用户设备上下载和编译模型的功能,而不是将模型与您的应用程序包放在一起。


Convert to a Half-Precision Model - 转换为半精度模型

// Listing 1 
Converting a model to lower precision with Core ML Tools

# Load a model, lower its precision, and then save the smaller model.
model_spec = coremltools.utils.load_spec('./exampleModel.mlmodel')
model_fp16_spec = coremltools.utils.convert_neural_network_spec_weights_to_fp16(model_spec)
coremltools.utils.save_spec(model_fp16_spec, 'exampleModelFP16.mlmodel')

您只能将嵌入神经网络的神经网络或管道模型转换为半精度。 必须将模型中的所有全精度权重参数转换为半精度。

使用半精度浮点值不仅会降低浮点值的精度,还会降低可能值的范围。 在将此选项部署到用户之前,请确认模型的行为不会降级。

转换为半精度的模型需要以下OS版本或更高版本:iOS 11.2,macOS 10.13.2,tvOS 11.2或watchOS 4.2


Convert to a Lower Precision Model - 转换为较低精度模型

较低精度的型号需要以下OS版本或更高版本:iOS 12,macOS 10.14,tvOS 12或watchOS 5


Download and Compile a Model - 下载并编译模型

后记

本篇主要讲述了减少Core ML应用程序的大小,感兴趣的给个赞或者关注~~~

显示全文