Core ML

Integrate machine learning models into your app.


With Core ML, you can integrate trained machine learning models into your app.

Core ML integrates a trained machine learning model into your app.

A trained model is the result of applying a machine learning algorithm to a set of training data. The model makes predictions based on new input data. For example, a model that's been trained on a region's historical house prices may be able to predict a house's price when given the number of bedrooms and bathrooms.

Core ML is the foundation for domain-specific frameworks and functionality. Core ML supports Vision for image analysis, Natural Language for natural language processing, and GameplayKit for evaluating learned decision trees. Core ML itself builds on top of low-level primitives like Accelerate and BNNS, as well as Metal Performance Shaders.

The machine learning stack

Core ML is optimized for on-device performance, which minimizes memory footprint and power consumption. Running strictly on the device ensures the privacy of user data and guarantees that your app remains functional and responsive when a network connection is unavailable.


First Steps

Getting a Core ML Model

Obtain a Core ML model to use in your app.

Integrating a Core ML Model into Your App

Add a simple model to an app, pass input data to the model, and process the model’s predictions.

Converting Trained Models to Core ML

Convert trained models created with third-party machine learning tools to the Core ML model format.

Computer Vision

Classifying Images with Vision and Core ML

Preprocess photos using the Vision framework and classify them with a Core ML model.

App Size Management

Reducing the Size of Your Core ML App

Reduce the storage used by the Core ML model inside your app bundle.



Use the Core ML API directly to support custom workflows and advanced use cases.