coremltools

Use Core ML to integrate machine learning models into your app. Core ML provides a unified representation for all models. Your app uses Core ML APIs and user data to make predictions, and to train or fine-tune models, all on the user’s device.

Core ML optimizes on-device performance by leveraging the CPU, GPU, and Neural Engine while minimizing its memory footprint and power consumption. Running a model strictly on the user’s device removes any need for a network connection, which helps keep the user’s data private and your app responsive.

Core ML Tools Overview

Use Core ML Tools to convert models from third-party libraries to Core ML.

Core ML is an Apple framework to integrate machine learning models into your app.

Use the Core ML Tools Python package (coremltools) to convert models from third-party training libraries such as TensorFlow and PyTorch to the Core ML model package format. You can then use Core ML to integrate the models into your app.

10091009

Core ML provides a unified representation for all models. Your app uses Core ML APIs and user data to make predictions, and to fine-tune models, all on the user’s device. Running a model strictly on the user’s device removes any need for a network connection, which helps keep the user’s data private and your app responsive.

Core ML optimizes on-device performance by leveraging the CPU, GPU, and Apple Neural Engine (ANE) while minimizing its memory footprint and power consumption.

What is Core ML Tools?

The coremltools Python package is the primary way to convert third-party models to Core ML.

With Core ML Tools you can do the following:

  • Convert trained models from libraries and frameworks such as TensorFlow and PyTorch to the Core ML model package format.
  • Read, write, and optimize Core ML models.
  • Verify creation and conversion by making predictions using Core ML in macOS.

Additional Resources

  • The Machine Learning page provides educational material, tutorials, guides, and documentation for Apple developers.
  • The ML & Vision session videos from the World Wide Developer Conference are a great place to start if you are new to machine learning technology and Core ML.
  • The Core ML documentation walks you through the first steps in developing an app with a machine learning model.
  • Try out coremltools in your browser with Binder: BinderBinder

Supported Libraries and Frameworks

You can convert trained models from the following libraries and frameworks to Core ML:

Model FamilySupported Packages
Neural NetworksTensorFlow 1 (1.14.0+)
TensorFlow 2 (2.1.0+)
PyTorch (1.4.0+)
Tree EnsemblesXGboost (1.1.0)
scikit-learn (0.18.1)
Generalized Linear Modelsscikit-learn (0.18.1)
Support Vector MachinesLIBSVM (3.22)
scikit-learn (0.18.1)
Pipelines (pre- and post-processing)scikit-learn (0.18.1)

Updated about a month ago


Core ML Tools Overview


Use Core ML Tools to convert models from third-party libraries to Core ML.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.