Machine Learning for Mobile Practical Guide to Building Intelligent Mobile Applications Powered by Machine Learning

This book will help you build intelligent mobile applications for Android and iOS using machine learning. In the process, you will use popular machine learning toolkits such as TensorFlow Lite, Core ML, ML Kit and Fritz to build and deploy state-of-the-art machine learning models for mobile devices.

Saved in:
Bibliographic Details
Main Authors: Gopalakrishnan, Revathi, Venkateswarlu, Avinash
Format: eBook
Language:English
Published: Birmingham Packt Publishing, Limited 2018
Packt Publishing Limited
Packt Publishing
Edition:1
Subjects:
ISBN:1788629353, 9781788629355
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Table of Contents:
  • Chapter 9: Neural Networks on Mobile -- Introduction to neural networks -- Communication steps of  a neuron -- The activation function -- Arrangement of neurons -- Types of neural networks -- Image recognition solution -- Creating a TensorFlow image recognition model -- What does TensorFlow do? -- Retraining the model -- About bottlenecks -- Converting the TensorFlow model into the Core ML model -- Writing the iOS mobile application -- Handwritten digit recognition solution -- Introduction to Keras -- Installing Keras -- Solving the problem -- Defining the problem statement -- Problem solution -- Preparing the data -- Defining the model's architecture -- Compiling and fitting the model -- Converting the Keras model into the Core ML model -- Creating the iOS mobile application -- Summary -- Chapter 10: Mobile Application Using Google Vision -- Features of Google Cloud Vision -- Sample mobile application using Google Cloud Vision -- How does label detection work? -- Prerequisites -- Preparations -- Understanding the Application -- Output -- Summary -- Chapter 11: The Future of ML on Mobile Applications -- Key ML mobile applications -- Facebook -- Google Maps -- Snapchat -- Tinder -- Netflix -- Oval Money -- ImprompDo -- Dango -- Carat -- Uber -- GBoard -- Key innovation areas -- Personalization applications -- Healthcare -- Targeted promotions and marketing -- Visual and audio recognition -- E-commerce -- Finance management -- Gaming and entertainment -- Enterprise apps -- Real estate -- Agriculture -- Energy -- Mobile security -- Opportunities for stakeholders -- Hardware manufacturers -- Mobile operating system vendors -- Third-party mobile ML SDK providers -- ML mobile application developers -- Summary -- Question and Answers -- FAQs -- Data science -- What is data science? -- Where is data science used? -- What is big data? -- What is data mining?
  • Cover -- Title Page -- Copyright and Credits -- About Packt -- Contributors -- Table of Contents -- Preface -- Chapter 1: Introduction to Machine Learning on Mobile -- Definition of machine learning -- When is it appropriate to go for machine learning systems? -- The machine learning process -- Defining the machine learning problem -- Preparing the data -- Building the model -- Selecting the right machine learning algorithm -- Training the machine learning model -- Testing the model -- Evaluation of the model -- Making predictions/Deploying in the field -- Types of learning -- Supervised learning -- Unsupervised learning -- Semi-supervised learning -- Reinforcement learning -- Challenges in machine learning -- Why use machine learning on mobile devices? -- Ways to implement machine learning in mobile applications -- Utilizing machine learning service providers for a machine learning model -- Ways to train the machine learning model -- On a desktop (training in the cloud) -- On a device -- Ways to carry out the inference - making predictions -- Inference on a server -- Inference on a device -- Popular mobile machine learning tools and SDKs -- Skills needed to implement on-device machine learning -- Summary -- Chapter 2: Supervised and Unsupervised Learning Algorithms -- Introduction to supervised learning algorithms -- Deep dive into supervised learning algorithms -- Naive Bayes -- Decision trees -- Linear regression -- Logistic regression -- Support vector machines -- Random forest -- Introduction to unsupervised learning algorithms -- Deep dive into unsupervised learning algorithms -- Clustering algorithms -- Clustering methods -- Hierarchical agglomerative clustering methods -- K-means clustering -- Association rule learning algorithm -- Summary -- References -- Chapter 3: Random Forest on iOS -- Introduction to algorithms -- Decision tree
  • Advantages of the decision tree algorithm -- Disadvantages of decision trees -- Advantages of decision trees -- Random forests -- Solving the problem using random forest in Core ML -- Dataset -- Naming the dataset -- Technical requirements -- Creating the model file using scikit-learn -- Converting the scikit model to the Core ML model -- Creating an iOS mobile application using the Core ML model -- Summary -- Further reading -- Chapter 4: TensorFlow Mobile in Android -- An introduction to TensorFlow -- TensorFlow Lite components -- Model-file format -- Interpreter -- Ops/Kernel -- Interface to hardware acceleration -- The architecture of a mobile machine learning application -- Understanding the model concepts -- Writing the mobile application using the TensorFlow model -- Writing our first program -- Creating and Saving the TF model -- Freezing the graph -- Optimizing the model file -- Creating the Android app -- Copying the TF Model -- Creating an activity -- Summary -- Chapter 5: Regression Using Core ML in iOS -- Introduction to regression -- Linear regression -- Dataset -- Dataset naming -- Understanding the basics of Core ML -- Solving the problem using regression in Core ML -- Technical requirements -- How to create the model file using scikit-learn -- Running and testing the model -- Importing the model into the iOS project -- Writing the iOS application -- Running the iOS application -- Further reading -- Summary -- Chapter 6: The ML Kit SDK -- Understanding ML Kit -- ML Kit APIs -- Text recognition -- Face detection -- Barcode scanning -- Image labeling -- Landmark recognition -- Custom model inference -- Creating a text recognition app using Firebase on-device APIs -- Creating a text recognition app using Firebase on-cloud APIs -- Face detection using ML Kit -- Face detection concepts -- Sample solution for face detection using ML Kit
  • Relationship between data science and big data -- What are artificial neural networks? -- What is AI? -- How are data science, AI, and machine learning interrelated? -- Machine learning framework -- Caffe2 -- scikit-learn -- TensorFlow -- Core ML -- Mobile machine learning project implementation -- What are the high-level important items to be considered before starting the project? -- What are the roles and skills required to implement a mobile machine learning project? -- What should you focus on when testing the mobile machine learning project? -- What is the help that the domain expert will provide to the machine learning project? -- What are the common pitfalls in machine learning projects? -- Installation -- Python -- Python dependencies -- Xcode -- References -- Other Books You May Enjoy -- Index
  • Running the app -- Summary -- Chapter 7: Spam Message Detection -- Understanding NLP -- Introducing NLP -- Text-preprocessing techniques -- Removing noise -- Normalization -- Standardization -- Feature engineering -- Entity extraction -- Topic modeling -- Bag-of-words model -- Statistical Engineering -- TF-IDF -- TF -- Inverse Document Frequency (IDF) -- TF-IDF -- Classifying/clustering the text -- Understanding linear SVM algorithm -- Solving the problem using linear SVM in Core ML -- About the data -- Technical requirements -- Creating the Model file using Scikit Learn -- Converting the scikit-learn model into the Core ML model -- Writing the iOS application -- Summary -- Chapter 8: Fritz -- Introduction to Fritz -- Prebuilt ML models -- Ability to use custom models -- Model management -- Hand-on samples using Fritz -- Using the existing TensorFlow for mobile model in an Android application using Fritz -- Registering with Fritz -- Uploading the model file (.pb or .tflite) -- Setting up Android and registering the app -- Adding Fritz's TFMobile library -- Adding dependencies to the project -- Registering the FritzJob service in your Android Manifest -- Replacing the TensorFlowInferenceInterface class with Fritz Interpreter -- Building and running the application -- Deploying a new version of your model -- Creating an android application using fritz pre-built models -- Adding dependencies to the project -- Registering the Fritz JobService in your Android Manifest -- Creating the app layout and components -- Coding the application -- Using the existing Core ML model in an iOS application using Fritz -- Registering with Fritz -- Creating a new project in Fritz -- Uploading the model file (.pb or .tflite) -- Creating an Xcode project -- Installing Fritz dependencies -- Adding code -- Building and running the iOS mobile application -- Summary
  • Machine Learning for Mobile: Practical guide to building intelligent mobile applications powered by machine learning