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

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 para iOS/macOS

Swift é uma linguagem poderosa e intuitiva da Apple, que é ativamente usada não apenas para desenvolvimento de aplicativos para iOS e macOS, mas também para tarefas de aprendizado de máquina. Graças ao desempenho, segurança de tipos e integração direta com frameworks da Apple, Swift se torna uma excelente escolha para implementar modelos de ML em dispositivos. Neste artigo, vamos explorar as principais bibliotecas e ferramentas para aprendizado de máquina em Swift que ajudarão você a criar aplicativos inteligentes para o ecossistema Apple.



1. Core ML — o framework principal da Apple

Core ML é o framework principal da Apple para integrar modelos de aprendizado de máquina em aplicativos. Ele suporta uma grande variedade de formatos de modelo (MLModel, ONNX, TensorFlow, PyTorch) e é otimizado para funcionar em dispositivos (iPhone, iPad, Mac). O Core ML usa automaticamente o Neural Engine, GPU e CPU para máximo desempenho.

Exemplo: Classificação de imagens com Core ML

import CoreMLimport Vision

// Carregamos o modelo pré-treinado MobileNetV2guard let model = try? VNCoreMLModel(for: MobileNetV2(configuration: MLModelConfiguration()).model) else { fatalError("Falha ao carregar o modelo")}

// Criamos a requisiçãolet request = VNCoreMLRequest(model: model) { request, error in guard let results = request.results as? [VNClassificationObservation], let topResult = results.first else { print("Falha ao classificar") return } print("Objeto: \\(topResult.identifier) com confiança \\(topResult.confidence)")}

// Carregamos a 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 para treinar modelos de aprendizado de máquina diretamente no Xcode. Ele suporta tarefas de classificação de imagens, texto, dados tabulares, sistemas de recomendação e até classificadores de áudio. Modelos treinados no Create ML são automaticamente exportados para o formato .mlmodel e estão prontos para uso com Core ML.

Exemplo: Treinamento de um modelo de classificação de texto

import CreateML

// Carregamos os dados de um CSVlet data = try MLDataTable(contentsOf: URL(fileURLWithPath: "/path/to/data.csv"))

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

// Criamos o classificador de textolet classifier = try MLTextClassifier(trainingData: trainingData, textColumn: "text", labelColumn: "label")

// Avaliamos a precisãolet evaluationMetrics = classifier.evaluation(on: testingData)print("Precisão: \\(evaluationMetrics.classificationError)")

// Salvamos o modelolet metadata = MLModelMetadata(author: "PythonLib", shortDescription: "Classificador de avaliações", version: "1.0")try classifier.write(to: URL(fileURLWithPath: "/path/to/SentimentClassifier.mlmodel"), metadata: metadata)


3. TensorFlow Lite (TFLite Swift) — TensorFlow móvel

TensorFlow Lite é a versão leve do TensorFlow para dispositivos móveis e embarcados. A interface Swift permite carregar e executar modelos TFLite no iOS e macOS. O TFLite suporta aceleração de hardware via Metal Performance Shaders (MPS) e delegados Core ML.

Exemplo: Execução de um modelo TFLite

import TensorFlowLite

// Carregamos o modeloguard let modelPath = Bundle.main.path(forResource: "mobilenet_v1_1.0_224", ofType: "tflite") else { fatalError("Modelo não encontrado")}

let interpreter = try Interpreter(modelPath: modelPath)try interpreter.allocateTensors()

// Preparamos os dados de entrada (exemplo: imagem 224x224)let inputData: Data = preprocessImag

Recommendations