首页 > 解决方案 > 检查设备是否有神经引擎

问题描述

除了推断设备型号和版本外,是否有 API 可以知道当前设备是否具有神经引擎?(苹果平台)。

目的是在设备没有此类硬件加速的情况下,默认禁用一些依赖 CoreML 模型的非关键功能。

标签: swiftcoreml

解决方案


我找不到明确的 API,但使用 Instruments 可以查看模型是在 ANE 还是 Metal(即 GPU)上运行。我想在运行时你可以使用Objective C和一些方法来查看是否调用了那些ANE类(使用符号断点,它们都以ANE为前缀),但你需要先通过它来找出答案。

MLModelConfiguration有一个computeUnits属性可以让你明确告诉模型不要在 ANE 上运行,但不是相反,系统会调用是否使用 ANE。

这里有一些额外的信息可能会有所帮助: https ://github.com/hollance/neural-engine


推荐阅读