- 1 ANDROID APPLICATIONS AND MACHINE LEARNING
ARTIFICIAL INTELLIGENCE: Development of a computer system, providing them intelligence so that they are able to perform simple human tasks such as visual perception, speech recognition, decision-making, and translation between languages.
MACHINE LEARNING: Machine learning provides computers the ability to learn from the task it performs without being explicitly programmed
NEURAL NETWORK: A neural network is hardware or/and software modeled on the human brain and nervous system.
DEEP LEARNING: Deep learning is a sub-branch of machine learning that deals with the algorithms and structure of neural networks.
LINE REGRESSION: Linear Regression is a machine learning algorithm used for target prediction value based on the independent variable.
ANDROID APPLICATIONS AND MACHINE LEARNING
If you want that your application is more user-friendly, or you want the application to take several decisions by itself, machine learning can help you achieve that. Machine learning, as we all know provides the software or hardware to learn from its experiences without being explicitly programmed. Either it is finding the best route to the office or finding products on social media that you have been thinking of buying for a long time, or you want to make an appointment to the best doctor in the city, all these things could be done by machine learning.
If you are looking forward to embedding machine learning in your android application and don’t know how to get started. Do not worry, android supports a large variety of machine learning tools and methods.
CHOOSING A MODEL
To get started with your machine learning application you need to first choose a model. A model is a mathematical representation of a real-world process or situation. A model is then trained to perform a particular task. You could simply train the model to identify the category of text, someone is sending on a text messenger, image category or many other things.
You can select the model in two ways, you could use an existing model or build it on your own. You can create and train your model on a development machine or using cloud infrastructure.
EXPLORING PRE-TRAINED MODELS
You can explore pre-trained models in ML kit and google cloud.
ML kit is a power as well as easy to use package mobile SDK that brings machine learning to Android and Ios. Through ML kit you can add implementation and functionality in just a few lines of codes, even though you are not an expert in machine learning. You do not need to have a deep knowledge of neural networks or model optimization to get started, but if you are an expert or a
Little more experienced then ML kit provides convenient APIs that can let you use TensorFlow Lite custom models.
- Ready to use APIs for common use cases such as recognizing text, detecting a face, identifying landmarks, Scanning barcodes, labeling images and identifying the language of the text. By just simply passing data to the ML kit library, you get the information that you need.
- ML kit’s selection of on-device APIs can process data quickly and can also work in no network connection on the other hand cloud-based APIs leverage the power of Google Cloud Platform’s machine learning technology that gives a higher level of accuracy.
- If you want to bring your custom build TensorFlow model just by uploading it to Firebase which hosts your app.
Google cloud is an innovative and trusted platform. The AI hub is a hosting repository of plug and play AI components which enables you for experimentation and collaboration within an organization. AI building blocks add sight, language, conversation, and structured data to the application. Whereas, AI platform is a code based data science development environment which helps quickly take projects from ideation to deployment.
- AI solutions quickly deploy state-of-the-art, pre-trained AI Solutions into your applications.
- Consulting services offer technical expertise from machine learning and deployment to data and analytics.
- TensorFlow is an open source software library for machine learning.
- Google cloud provides customer-friendly pricing.
- Advance solution labs enable you to work side by side with Googles machine learning experts.
CREATING TENSORFLOW CUSTOM MODELS
To create your own custom models you need good hands-on development experience. You can create custom models with TensorFlow.
For building and training your own custom models you can use TENSORFLOW. It is an end-to-end open source platform with a comprehensive and flexible ecosystem for tools, libraries, and resources. It let developers and researchers push the state-of-the-art in ML and easily build and deploy ML powered applications.
- You can use high-level APIs to build and train ML models which make iteration and debugging easy.
- You can do Robust Ml production anywhere such as cloud, on-prem, in the browser, or on-device no matter what language you use.
- The simple and flexible architecture take new ideas from concept to code, to state-of-the-art models and the publication faster, hence giving powerful experimentation for research.
Inference is a process of using a model that already has been trained to perform a specific task. The inferencing could run on the device or could use a cloud service that’s accessed remotely. So, there are two ways of inferencing: On-device inference and Cloud-based inference
On-device inference: In on-device inference, the model has to be loaded into the RAM, which requires significant computational time on the GPU or CPU.
ML kit: Image labeling, Text recognition (OCR), Face detection (including face contour), Barcode Scanning, Language Identification.
TENSORFLOW Lite: Reuse an existing model, Retrain existing model.
Cloud-based inference: Cloud-based inference quickly runs large-scale correlations over typed time-series dataset.
ML kit: Image labeling, Text recognition (OCR), Landmark recognition.
GOOGLE CLOUD APIs: Cloud video intelligence, cloud vision, cloud speech recognition, cloud text to speech, and cloud natural language, translation.
DEPLOYMENT OF MODEL
Deployment is the process of packaging and uploading the model on Android. There are three option to do so.
The model can be developed with the application like other assets. When you will update the model update to the app is mandatory. You can package you ML model with the app by packaging ML model with Android APK which is the most basic option and by using Android app bundle.
We can also provide the model at runtime. Using this method enables you to update your ML model independent of the application.
We can also use a combination of both. This helps us updating the app with the initial version and then updating the model later.