用途:这是一个针对 Apple Core ML 的 API 参考技能,帮助在 iOS 应用中加载模型、执行预测、转换模型并做压缩优化。内容由 megastep/codex-skills 提供,URL 为 https://www.skills.sh/megastep/codex-skills/axiom-ios-ml-coreml-ref。
主要能力: 一、模型生命周期。支持同步与异步加载 MLModel,可用 MLModelConfiguration 设置 computeUnits(.all、.cpuOnly、.cpuAndGPU、.cpuAndNeuralEngine)。区分源模型(.mlmodel、.mlpackage)与已编译模型(.mlmodelc),首次加载触发设备特化,后续走缓存;缓存会因系统更新、磁盘不足或模型修改而失效。支持多函数模型,通过 functionName 指定函数。 二、计算可用性。iOS 17+ 提供 MLComputeDevice,可用 MLModel.availableComputeDevices 检查 CPU、GPU、神经引擎;示例代码含 device.name 与 ne.totalCoreCount。 三、预测 API。同步 prediction(from:) 与批量 predictions(from:),均非线程安全;iOS 17+ 异步 prediction 线程安全并支持取消与状态。状态预测通过 model.makeState() 创建状态并在预测时原地更新。 四、MLTensor(iOS 18+)。创建、逐元素运算、归约、比较、softmax、索引、重塑与 expandingShape;张量运算是异步的,需 await tensor.shapedArray(of: Float.self) 实体化后读取。 五、coremltools 转换。基础转换用 ct.convert,支持固定形状、RangeDim 动态范围、EnumeratedShapes 枚举形状,以及 ct.StateType 定义状态(如 KV-cache)。 六、压缩 API。训练后调色板(OpPalettizerConfig,支持 per-tensor 与 per_grouped_channel)、线性量化(OpLinearQuantizerConfig,支持 int8 per-channel 与 int4 per_block)、幅度剪枝(OpMagnitudePrunerConfig),以及 PyTorch 训练时调色板(DKMPalettizer)和基于校准的压缩。 七、多函数模型合并、性能分析(MLComputePlan、Xcode Performance 报告、Core ML Instrument)与部署目标特性对照(iOS 16/17/18)。
使用方式:在 Swift 侧按参考示例加载模型、配置计算单元、执行预测;在 Python 侧用 coremltools 转换与优化模型。建议设置 minimum_deployment_target=ct.target.iOS18 以获得最佳优化。
限制:资料未提供安装命令、具体收费方式、完整平台版本范围及实际效果数据;部分 API 需要 iOS 17 或 iOS 18 及以上版本。内容为参考性质,不构成可复制的完整应用示例。