CoreML

CoreML es la base de los frameworks y la funcionalidad específicos del dominio. Core ML admite Vision para analizar imágenes, Lenguaje Natural para procesar texto, Voz para convertir audio a texto y Análisis de sonido para identificar sonidos en audio. Core ML se construye sobre primitivas de bajo nivel como Accelerate y BNNS, así como Metal Performance Shaders.

coreml2

Core ML integra modelos de machine learning en una aplicación. Core ML proporciona una representación unificada para todos los modelos. Su aplicación utiliza las API de Core ML y los datos del usuario para hacer predicciones y entrenar o ajustar modelos, todo en el dispositivo del usuario.

coreml1

Un modelo es el resultado de aplicar un algoritmo de machine learning a un conjunto de datos de entrenamiento. Utiliza un modelo para hacer predicciones basadas en nuevos datos de entrada. Los modelos pueden realizar una amplia variedad de tareas que serían difíciles o poco prácticas para escribir en el código. Por ejemplo, puede entrenar a un modelo para categorizar fotos o detectar objetos específicos dentro de una foto directamente desde sus píxeles.

Primeros pasos para iniciar con CoreML:

  • Tener un modelo CoreML: Core ML admite una variedad de modelos de aprendizaje automático, que incluyen redes neuronales, conjuntos de árboles, máquinas de vectores de soporte y modelos lineales generalizados. Core ML requiere el formato de modelo Core ML (modelos con una extensión de archivo .mlmodel). Con Create ML y sus propios datos, puede entrenar modelos personalizados para realizar tareas como reconocer imágenes, extraer significado del texto o encontrar relaciones entre valores numéricos. Los modelos entrenados con Create ML están en el formato de modelo Core ML y están listos para usar en su aplicación.

coreml3 Ejemplo usando un entrenamiento de imagenes de flores coreml4

  • Integrar el modelo CoreML a la aplicacion: Utilizando un modelo ya hecho de apple, haremos un reconocimiento de mariscos. descarga
    1. Creamos un proyecto nuevo llamado Mariscos, en Xcode: ejemplo
    2. Integramos el modelo que descargamos a nuestro proyecto: ejemplo1 ejemplo2
    3. Importamos los frameworks, y protocolos en el ViewController: ejemplo3
    4. Integramos los objetos bar buttom item y image view: ejemplo4
    5. Integramos los IBOutlets y IBActions que necesitamos: ejemplo5
    6. Integrar funciones necesarias en el View Controller para hacer las coincidencias: ejemplo6
    7. Probar la app en un iPhone: ejemplo7
    8. Revisar los resultados en consola y determinar el porcentaje de confianza: ejemplo8 Como podemos ver la app logro reconocer que se le esta presentando aun lobster.
  • Convertir modelos entrenados a Core ML: Si su modelo se crea y se entrena utilizando un marco de aprendizaje automático de terceros compatible, puede usar las herramientas Core ML o una herramienta de conversión de terceros, como el convertidor MXNet o el convertidor TensorFlow, para convertir su modelo al Core ML formato del modelo De lo contrario, debe crear sus propias herramientas de conversión.

    Core ML Tools es un paquete de Python que convierte una variedad de tipos de modelos al formato de modelo Core ML. La Tabla enumera los modelos admitidos y los frameworks de terceros coreml5