【问题标题】:Check if device has Neural Engine检查设备是否有神经引擎
【发布时间】:2021-11-11 13:21:06
【问题描述】:

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

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

【问题讨论】:

    标签: swift coreml


    【解决方案1】:

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

    MLModelConfiguration 有一个computeUnits 属性,它允许您专门告诉模型不要在 ANE 上运行,但不是相反,系统会调用是否使用 ANE。

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

    【讨论】:

    • 谢谢。如果需要某些方法调配和其他方法,则从模型名称和版本推断它可能更容易且更“耐用”。毕竟,所有新设备(目前除了手表)都有 ANE。鉴于系统要求限制了应用程序可以在其上运行的模型数量,维护设备的负面列表非常简单。
    猜你喜欢
    • 2011-01-19
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2021-09-23
    • 2019-10-05
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    相关资源
    最近更新 更多