swift - 检查设备是否有神经引擎
问题描述
除了推断设备型号和版本外,是否有 API 可以知道当前设备是否具有神经引擎?(苹果平台)。
目的是在设备没有此类硬件加速的情况下,默认禁用一些依赖 CoreML 模型的非关键功能。
解决方案
我找不到明确的 API,但使用 Instruments 可以查看模型是在 ANE 还是 Metal(即 GPU)上运行。我想在运行时你可以使用Objective C和一些方法来查看是否调用了那些ANE类(使用符号断点,它们都以ANE为前缀),但你需要先通过它来找出答案。
MLModelConfiguration
有一个computeUnits
属性可以让你明确告诉模型不要在 ANE 上运行,但不是相反,系统会调用是否使用 ANE。
这里有一些额外的信息可能会有所帮助: https ://github.com/hollance/neural-engine
推荐阅读
- c# - 为什么在实现 AsyncCache 时需要对 Task 进行延迟包装?
- python - 将列连接成日期
- mysql - 用于 python 3.7 的 MySQL 包
- http - 停止服务器而不退出程序 golang
- javascript - Javascript 执行顺序 - window.location.href 何时发生?
- laravel - 如何在此二进制推荐系统中插入位置 ID
- javascript - nodejs express 在另一个文件中重用路由获取方法
- javascript - 使用另一个数组中数组的值来解析句子
- django - Django-filter 按相关字段过滤
- php - 在看到引导程序设计的变化之前需要先清除浏览器数据