Skip to content
CoreML module for React native
Swift JavaScript TypeScript Objective-C
Branch: master
Clone or download
Latest commit 2ae585a Dec 15, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.


Imperative library for leveraging CoreML with React Native


import * as RNFS from "react-native-fs"
import { compileModel, classifyTopValue } from "react-native-coreml";
(async ()=>{ file with RNFS
    const { jobid, promise } = RNFS.DownloadFile(...)
    await promise
    const modelPath = await compileModel(MLModelPath)
    const { label, confidence } = await classifyTopValue(pathToImage, modelPath)
    console.log("The image is a " + label + ". I think. ")


Exported from react-native-coreml. All imperative functions that return a promise. Best used with async/await.


Takes a downloaded .mlmodel file and converts it to a .mlmodelc directory. The latter is always in your temporary files folder, so if you want to then put it somewhere else, recommend using react-native-fs.

classifyImage(pathToImage, pathToMLModelC)

Classifies an image located on local storage with the model specified at the path. Resolves an array of all the possible classifications, most probable first.

classifyTopFive(pathToImage, pathToMLModelC)

Same as above but only returns the top five results. Helpful for filtering out the junk for performance.

classifyTopValue(pathToImage, pathToMLModelC)

Same as above but returns only the top result as object { probability, label }.

predict(dictionaryOfInputValues, pathToMLModelC)

Runs an arbitrary model with inputs defined in the dictionary, and returns a dictionary of the outputs, defined themselves as objects with { type, value, ...}. Note that MLMultiArray values are returned as keys to be retrieved by a different function.

saveMultiArray(multiArrayKey, filePath)

Saves a multiarray defined by the key to the specified file path for later load or transport. Multiarray values are often very large and are not useful for direct access in JS land.

You can’t perform that action at this time.