At the WWDC this year, Apple announced how it was using Machine Learning in its apps to make them more intelligent and intuitive. But an even bigger news was how they are opening up these machine learning capabilities to be used in third-party apps. For easing the machine learning process Apple has come up with new frameworks for developers - CoreML and Vision.
Their Machine Learning API - CoreML allows developers to integrate machine learning models into apps on Apple devices running macOS, iOS, watchOS or tvOS. This model provides the capability of integrating a trained machine learning model into an app. A trained ML model is created by applying a machine learning algorithm to a set of training data. With the help of this model, the system generates new values from the inputs provided by the user. For example, if a trained data set of historical prices of commodities is provided then the algorithm can predict the future prices of the same.
Vision gives you access to the Apple models for various image-based machine learning capabilities. Many pre-trained models are available in the framework for developers which can be used without adding additional setups - face detection, landmark detection, and calendar event detection are some.
Natural Language processing in emails, text and web pages are also available. This includes language identification, tokenization, extraction and recognizing names.
The pre-trained models are available for users to download and use in their apps (available here).
Any new models generated should be in the .mlmodel format (the Core ML model format). If you have any models trained in a different framework and wish to use CoreML, there are Core ML tools available which can be used to convert the models into mlmodel files. As of now, the supported ML tools are Keras, XGBoost, Caffe, Scikit-learn, and libSVM.
These algorithms are optimized for on-device performance which minimizes memory footprint and power consumption. With reduced runtime memory requirements developers need not sacrifice efficiency for ensuring operational efficiency.
True to their stand on privacy, the ML models remains on the device - so all the data collected and intelligence gathered remains on the device. This ensures that all the intelligent data sets collected over time are not used without users explicit permissions.
We are really excited about Machine Learning on Apple devices and the possibilities it brings up for developers and app owners. This is a stunning technical achievement which brings complex ML technology within the reach of developers and gives them a platform to use their existing trained ML models across the entire Apple hardware lineup.
Want help getting your app ready? We at NewGenApps specialize in providing apps with advanced functionalities like Machine Learning, AI, and Natural Language processing. If you are struggling to get these advanced capabilities implemented in your app then contact us.