【发布时间】:2021-11-11 13:21:06
【问题描述】:
除了推断设备型号和版本外,是否有 API 可以知道当前设备是否具有神经引擎? (Apple 平台)。
目的是在设备没有此类硬件加速的情况下,默认禁用一些依赖 CoreML 模型的非关键功能。
【问题讨论】:
除了推断设备型号和版本外,是否有 API 可以知道当前设备是否具有神经引擎? (Apple 平台)。
目的是在设备没有此类硬件加速的情况下,默认禁用一些依赖 CoreML 模型的非关键功能。
【问题讨论】:
我找不到明确的 API,但使用 Instruments,您可以查看模型是在 ANE 还是 Metal(即 GPU)上运行。我想在运行时你可以使用Objective C和一些方法来查看是否调用了那些ANE类(使用符号断点,它们都以ANE为前缀),但你需要先通过它来找出答案。
MLModelConfiguration 有一个computeUnits 属性,它允许您专门告诉模型不要在 ANE 上运行,但不是相反,系统会调用是否使用 ANE。
这里有一些额外的信息可能会有所帮助: https://github.com/hollance/neural-engine
【讨论】: