La respuesta es “SÍ” y “NO” simultáneamente. Oficialmente, CoreML es compatible con iOS y MacOS. Sin embargo, mis experimentos muestran que CoreML NO es compatible con Metal Framework para MacOS (a partir de MacOS 10.13.2 Beta <- con suerte cambiará en el futuro) y solo usa Accelerate Framework para ejecutar cálculos en la CPU. Como resultado, si ejecuta su modelo en MacOS, en este momento, el rendimiento será realmente bajo.
Para evitar este problema, tuve que reconstruir mi CNN usando Meta Performance Shaders (MPS) directamente. La diferencia en comparación con CoreML dependerá de su hardware. Sin embargo, en mi 2017 MBP 2.3 GHz i5, la versión MPS de mi CNN fue 3–4 veces más rápida. Además, el marco MPS ofrece 2 implementaciones: MPSKernel y MPSNNGraph. Se supone que MPSNNGraph es más rápido debido a la optimización que proporcionó Apple. Sin embargo, mi implementación de CNN fue más rápida usando MPSKernel’s (no tengo una explicación válida de por qué ese sería el caso).
Otro detalle interesante es que la implementación de MPS ejecuta cálculos (como cabría esperar) en la GPU integrada. Debido a que las GPU integradas de Intel son muy eficientes energéticamente, el consumo de energía de la implementación de MPS es significativamente menor en MacOS en comparación con CoreML.
- ¿Cómo pasó del desarrollo de outsourcing a un desarrollador único a un equipo de desarrollo o empresa?
- ¿Es posible obtener una lista de aplicaciones en ejecución / instaladas mediante programación en iOS 11?
- ¿Cuáles son las partes integrales que intervienen en el desarrollo de iOS que los principiantes generalmente no conocen o tienen problemas?
- ¿Por qué es iOS mejor que Android para desarrolladores?
- ¿Cómo se comunican las partes MVC entre sí?