Aprendizado de Máquina em Swift: bibliotecas Core ML, Create ML e TensorFlow Lite

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Aprendizado de Máquina em Swift: bibliotecas e ferramentas para iOS/macOS



O desenvolvimento para o ecossistema Apple é tradicionalmente associado à linguagem Swift. Apesar de Python continuar sendo o líder indiscutível em Ciência de Dados, Swift está alcançando-o ativamente, oferecendo soluções nativas e otimizadas para o hardware Apple. Neste artigo, abordaremos as principais bibliotecas e frameworks que permitem implementar aprendizado de máquina (ML) em aplicativos para iOS, macOS, watchOS e tvOS, além de treinar modelos diretamente no dispositivo.



1. Core ML — a base de tudo



Core ML não é apenas uma biblioteca, mas um framework fundamental da Apple que serve como runtime para executar modelos de ML no dispositivo. Ele suporta modelos treinados em Python (scikit-learn, TensorFlow, PyTorch) e convertidos para o formato .mlmodel ou .mlpackage usando Core ML Tools.



Principais recursos do Core ML:

  • Otimização para Neural Engine, GPU e CPU (seleção automática).
  • Suporte para imagens, texto, sequências, dados tabulares.
  • Trabalho com modelos de classificação, detecção de objetos (YOLO, SSD), segmentação semântica.
  • Suporte para modelos transformer (BERT, GPT-2) através do Natural Language.


Exemplo de integração do modelo Core ML para classificação de imagens (Swift):



import CoreMLimport Vision

// 1. Carregamos o modelo (exemplo: MobileNetV2)guard let model = try? VNCoreMLModel(for: MobileNetV2(configuration: MLModelConfiguration()).model) else { fatalError("Falha ao carregar o modelo")}

// 2. Criamos a requisição para Visionlet request = VNCoreMLRequest(model: model) { request, error in guard let results = request.results as? [VNClassificationObservation], let topResult = results.first else { return } print("Reconhecido: \\(topResult.identifier) com confiança \\(topResult.confidence)")}

// 3. Executamos a requisição na imagemguard let image = UIImage(named: "cat.jpg"), let ciImage = CIImage(image: image) else { return }

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


2. Create ML — treinamento sem código (e com código)



Create ML é uma ferramenta da Apple, integrada ao Xcode e Swift Playgrounds, que permite treinar modelos de aprendizado de máquina diretamente no Mac, usando Swift. É ideal para prototipagem e criação de modelos personalizados sem sair do ecossistema.



Create ML suporta:

  • Classificação e regressão (dados tabulares).
  • Classificação de imagens e detecção de objetos.
  • Análise de texto (sentimento, categorização).
  • Sistemas de recomendação (baseados no comportamento do usuário).
  • Classificação de áudio.


Exemplo de treinamento de um classificador de texto em Swift (macOS):



import CreateMLimport Foundation

// 1. Carregamos os dados de um CSVlet data = try MLDataTable(contentsOf: URL(fileURLWithPath: "/Users/me/emails.csv"))

// 2. Dividimos em treino/testelet (trainingData, testingData) = data.randomSplit(by: 0.8, seed: 42)

// 3. Treinamos o classificador de sentimentolet sentimentClassifier = try MLTextClassifier(trainingData: trainingData, textColumn: "text", labelColumn: "label")

// 4. Avaliação da precisãolet evaluationMetrics = sentimentClassifier.evaluation(on: testingData)print("Precisão: \\(evaluationMetrics.classificationError)")

// 5. Salvamos o modelolet metadata = MLModelMetadata(author: "PythonLib", shortDescription: "Classificador de sentimento de e-mails", version: "1.0")try sentimentClassifier.write(to: URL(fileURLW

Recommendations