检查设备是不是有神经引擎
Posted
技术标签:
【中文标题】检查设备是不是有神经引擎【英文标题】:Check if device has Neural Engine检查设备是否有神经引擎 【发布时间】:2021-11-11 13:21:06 【问题描述】:除了推断设备型号和版本外,是否有 API 可以知道当前设备是否具有神经引擎? (Apple 平台)。
目的是在设备没有此类硬件加速的情况下,默认禁用一些依赖 CoreML 模型的非关键功能。
【问题讨论】:
【参考方案1】:我找不到明确的 API,但使用 Instruments,您可以查看模型是在 ANE 还是 Metal(即 GPU)上运行。我想在运行时你可以使用Objective C和一些方法来查看是否调用了那些ANE类(使用符号断点,它们都以ANE为前缀),但你需要先通过它来找出答案。
MLModelConfiguration
有一个computeUnits
属性,它允许您专门告诉模型不要在 ANE 上运行,但不是相反,系统会调用是否使用 ANE。
这里有一些额外的信息可能会有所帮助: https://github.com/hollance/neural-engine
【讨论】:
谢谢。如果需要某些方法调配和其他方法,则从模型名称和版本推断它可能更容易且更“耐用”。毕竟,所有新设备(目前除了手表)都有 ANE。鉴于系统要求限制了应用程序可以在其上运行的模型数量,维护设备的负面列表非常简单。以上是关于检查设备是不是有神经引擎的主要内容,如果未能解决你的问题,请参考以下文章