We are committed to building a platform that integrates with popular Machine Learning (ML) training frameworks & on-device ML formats, to create the best possible user experience delivering models to the edge.
With the wide array of tools and technologies available, it is challenging to develop an end-to-end machine learning architecture for mobile ML deployment.
In this repository, we're assembling example workflows that demonstrate all parts of the end-to-end pipeline: model training, delivery, and mobile app integration.
Each example features:
- A task oriented ML use-case
- An ML Training Framework & On-Device ML Format (see description below)
- Skafos for model updates, management, and monitoring
Each example includes:
- Model training code that can be run on Google Colab or on your local machine
- A mobile app that that demonstrates model integration and delivery runnable in Xcode
First, clone this repo:
$ git clone git@github.com:skafos/example-ml-apps.git
Then, navigate to the example you want to try and checkout the README doc for further instruction:
$ cd example-ml-apps/TensorFlow/tflite/ios
$ more README.md
Our collection of example machine learning apps will continue to grow over time:
- TensorFlow -> TFLite: Image Classification iOS
- ML Use-Case: Image Classification
- ML Training Framework: TensorFlow
- On-Device ML Format: TFLite
- Keras -> CoreML: Phrase Generation iOS
- ML Use-Case: Natural Language Processing: Text Generation
- ML Training Framework: Keras
- On-Device ML Format: CoreML
Feel free to look around and explore as you wish! However we recommend following these steps for each example you try:
- Create a free Skafos account and login
- In the dashboard, create a new app integration and model for the example
- Go through the model training and upload example code
- Go through the app building steps to see the ML model in action and Skafos perform model updates
These are libraries you would use to train machine learning models: anything from neural networks to decision tree classifiers. This is absolutely NOT an exhaustive list. More will be documented here over time.
Once you've trained a machine learning model, you have to convert it to a format optimized for use on mobile. The two most popular formats are:
Please don't hesitate to reach out!
- Check out our platform documentation, complete with FAQs
- Signup for our Slack Channel
- Find us on Reddit
- Submit an issue to this Github repo and we will address it