Aprendizaje automático en Swift: bibliotecas Core ML, Create ML y TensorFlow Lite

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Aprendizaje automático en Swift: bibliotecas y herramientas para iOS/macOS



El desarrollo para el ecosistema Apple se asocia tradicionalmente con el lenguaje Swift. A pesar de que Python sigue siendo el líder indiscutible en el ámbito de Data Science, Swift lo está alcanzando activamente, ofreciendo soluciones nativas y optimizadas para el hardware de Apple. En este artículo, analizaremos las bibliotecas y frameworks clave que permiten implementar aprendizaje automático (ML) en aplicaciones para iOS, macOS, watchOS y tvOS, así como entrenar modelos directamente en el dispositivo.



1. Core ML — la base de todo



Core ML no es solo una biblioteca, sino un framework fundamental de Apple que sirve como runtime para ejecutar modelos de ML en el dispositivo. Soporta modelos entrenados en Python (scikit-learn, TensorFlow, PyTorch) y convertidos al formato .mlmodel o .mlpackage mediante Core ML Tools.



Capacidades clave de Core ML:

  • Optimización para Neural Engine, GPU y CPU (selección automática).
  • Soporte para imágenes, texto, secuencias, datos tabulares.
  • Trabajo con modelos de clasificación, detección de objetos (YOLO, SSD), segmentación semántica.
  • Soporte para modelos transformer (BERT, GPT-2) a través de Natural Language.


Ejemplo de integración de un modelo Core ML para clasificación de imágenes (Swift):



import CoreMLimport Vision

// 1. Cargamos el modelo (por ejemplo, MobileNetV2)guard let model = try? VNCoreMLModel(for: MobileNetV2(configuration: MLModelConfiguration()).model) else { fatalError("No se pudo cargar el modelo")}

// 2. Creamos una solicitud para Visionlet request = VNCoreMLRequest(model: model) { request, error in guard let results = request.results as? [VNClassificationObservation], let topResult = results.first else { return } print("Reconocido: \\(topResult.identifier) con confianza \\(topResult.confidence)")}

// 3. Ejecutamos la solicitud en la imagenguard let image = UIImage(named: "gato.jpg"), let ciImage = CIImage(image: image) else { return }

let handler = VNImageRequestHandler(ciImage: ciImage, options: [:])try? handler.perform([request])


2. Create ML — entrenamiento sin código (y con código)



Create ML es una herramienta de Apple, integrada en Xcode y Swift Playgrounds, que permite entrenar modelos de aprendizaje automático directamente en un Mac usando Swift. Es ideal para prototipado y creación de modelos personalizados sin salir del ecosistema.



Create ML soporta:

  • Clasificación y regresión (datos tabulares).
  • Clasificación de imágenes y detección de objetos.
  • Análisis de texto (sentimiento, categorización).
  • Sistemas de recomendación (basados en el comportamiento del usuario).
  • Clasificación de sonido.


Ejemplo de entrenamiento de un clasificador de texto en Swift (macOS):



import CreateMLimport Foundation

// 1. Cargamos datos desde CSVlet data = try MLDataTable(contentsOf: URL(fileURLWithPath: "/Users/yo/correos.csv"))

// 2. Dividimos en train/testlet (trainingData, testingData) = data.randomSplit(by: 0.8, seed: 42)

// 3. Entrenamos un clasificador de sentimientolet sentimentClassifier = try MLTextClassifier(trainingData: trainingData, textColumn: "texto", labelColumn: "etiqueta")

// 4. Evaluación de precisiónlet evaluationMetrics = sentimentClassifier.evaluation(on: testingData)print("Precisión: \\(evaluationMetrics.classificationError)")

// 5. Guardamos el modelolet metadata = MLModelMetadata(author: "PythonLib", shortDescription: "Clasificador de sentimiento de correos", version: "1.0")try sentimentClassifier.write(to: URL(fileURLW

Recommendations