SlideShare a Scribd company logo
1 of 34
Download to read offline
Add Machine Learning to your iOS 

App with Core ML
Jean-Luc David

iOS Developer
My iOS Machine Learning App Circa 2012
OpenCV
Popular Perceptions
Popular Perceptions
Popular Perceptions
Nomenclature
Application of Machine Learning
Silicon Valley - Jian-Yang's Not Hotdog App
Fiction Becomes Reality
Types of Machine Learning
Core ML
• Announced at WWDC 17.
• Works only on iOS 11
• Inference engine
• Does not support training models.
• Heterogenous compute architecture - CPU & GPU.
• Open Source Python coremltool for converting
to coremlmodel file.
But I want to train models!
Runs On Device
User Privacy Data Cost Server Cost Available
How Does a Model Work?
Machine Learning Model Types
Demo - Face Detection & Recognition
Types of Machine Learning
Offline
+ Labels
Task - Find a Rose
Inference is Difficult
Inference is Difficult
Core ML Model
• Single Document
• Public Format
• Reduced Size
• Improved Accuracy
• Decreased Prediction

Time
Core ML Architecture
• Unified Fine Tuned Inference Engine
• Xcode Integration
• Built on Accelerate and Metal
• Public Model Format
• Support for Popular Training Libraries
Core ML Model
• Function learned from data
• Observed inputs
• Predicts outputs
• Single Document
• Public Format
• Ready to Use
• Task Specific
Sample Models
https://developer.apple.com/machine-learning/
Converting to Core ML
Core ML 

Tools
Open Source
Converting to Core ML
• Download a trained .caffemodel and
a .prototxt of the dataset, as well as a .txt list
of names related to the model.
• Install Python 2.7 and pip
• Install, create, then activate the virtualenv.
• Write and run a Python script to convert
the .caffemodel to a Core ML model,
using coremltools
• Add the generated .mlmodel to the Xcode project
Demo - Converting a Model to MLModel
Xcode Integration
Swift ML Code
Generates this code
Model as Code
• Quick Initialization
• Optimized Prediction
Xcode Your App
Demo - FlowerClassifier
Resources
• https://www.slideshare.net/jldavid
• https://github.com/jldavid/FaceDetection
• https://github.com/jldavid/FlowerClassifier
Thank You

More Related Content

What's hot

Primers on mobile application development
Primers on mobile application developmentPrimers on mobile application development
Primers on mobile application development
Satta Nathan
 

What's hot (10)

Corona sdk intro
Corona sdk introCorona sdk intro
Corona sdk intro
 
Native vs. Hybrid Applications
Native vs. Hybrid ApplicationsNative vs. Hybrid Applications
Native vs. Hybrid Applications
 
Native vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentNative vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App Development
 
MyAppconverter platform mappings
MyAppconverter platform mappings MyAppconverter platform mappings
MyAppconverter platform mappings
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
Primers on mobile application development
Primers on mobile application developmentPrimers on mobile application development
Primers on mobile application development
 
State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile Development
 
iPad Development Slides #ilta12
iPad Development Slides #ilta12iPad Development Slides #ilta12
iPad Development Slides #ilta12
 
Natural Language Processing for Tamil
Natural Language Processing for TamilNatural Language Processing for Tamil
Natural Language Processing for Tamil
 
State of the Mobile Web Frameworks
State of the Mobile Web FrameworksState of the Mobile Web Frameworks
State of the Mobile Web Frameworks
 

Similar to Add Machine Learning to your iOS 11 App Using Core ML

Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology Market
Bharat Gera
 
2013-04-16 iOS development speed up
2013-04-16 iOS development speed up2013-04-16 iOS development speed up
2013-04-16 iOS development speed up
CocoaHeads Tricity
 

Similar to Add Machine Learning to your iOS 11 App Using Core ML (20)

Machine Learning in iOS_ Core ML and its Applications.pptx
Machine Learning in iOS_ Core ML and its Applications.pptxMachine Learning in iOS_ Core ML and its Applications.pptx
Machine Learning in iOS_ Core ML and its Applications.pptx
 
Introducing ios core ml
Introducing ios core mlIntroducing ios core ml
Introducing ios core ml
 
Droidcon event 2015 Bangalore
Droidcon event 2015 BangaloreDroidcon event 2015 Bangalore
Droidcon event 2015 Bangalore
 
Image Processing and Computer Vision in iOS
Image Processing and Computer Vision in iOSImage Processing and Computer Vision in iOS
Image Processing and Computer Vision in iOS
 
Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology Market
 
Tech Ed Barcelona - UX Transformation with Machine Learning and SAP Cloud Pla...
Tech Ed Barcelona - UX Transformation with Machine Learning and SAP Cloud Pla...Tech Ed Barcelona - UX Transformation with Machine Learning and SAP Cloud Pla...
Tech Ed Barcelona - UX Transformation with Machine Learning and SAP Cloud Pla...
 
ISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin MultiplatformISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin Multiplatform
 
Machine Learning on iOS with Core ML
Machine Learning on iOS with Core MLMachine Learning on iOS with Core ML
Machine Learning on iOS with Core ML
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notes
 
Implementing Biometric Authentication & Features in iOS Apps
Implementing Biometric Authentication & Features in iOS AppsImplementing Biometric Authentication & Features in iOS Apps
Implementing Biometric Authentication & Features in iOS Apps
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?
 
Mobile appsdevelopment
Mobile appsdevelopmentMobile appsdevelopment
Mobile appsdevelopment
 
Xamarin.Forms Bootcamp
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms Bootcamp
 
Ios development
Ios developmentIos development
Ios development
 
Native apps made easy with Xamarin and cross-platform C#
Native apps made easy with Xamarin and cross-platform C#Native apps made easy with Xamarin and cross-platform C#
Native apps made easy with Xamarin and cross-platform C#
 
20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx
 
2013-04-16 iOS development speed up
2013-04-16 iOS development speed up2013-04-16 iOS development speed up
2013-04-16 iOS development speed up
 
Dato Keynote
Dato KeynoteDato Keynote
Dato Keynote
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​
 

More from Jean-Luc David

Venture For Canada - Growing Your Startup
Venture For Canada - Growing Your StartupVenture For Canada - Growing Your Startup
Venture For Canada - Growing Your Startup
Jean-Luc David
 
Ryerson DMZ iOS Development Workshop
Ryerson DMZ iOS Development WorkshopRyerson DMZ iOS Development Workshop
Ryerson DMZ iOS Development Workshop
Jean-Luc David
 
iOS Development Workshop
iOS Development WorkshopiOS Development Workshop
iOS Development Workshop
Jean-Luc David
 
Introduction to iOS development
Introduction to iOS developmentIntroduction to iOS development
Introduction to iOS development
Jean-Luc David
 

More from Jean-Luc David (20)

Mobile Portfolio
Mobile PortfolioMobile Portfolio
Mobile Portfolio
 
Mike Krieger - A Brief, Rapid History of Scaling Instagram (with a tiny team)
Mike Krieger - A Brief, Rapid History of Scaling Instagram (with a tiny team)Mike Krieger - A Brief, Rapid History of Scaling Instagram (with a tiny team)
Mike Krieger - A Brief, Rapid History of Scaling Instagram (with a tiny team)
 
Intro to HTTP and Node.js
Intro to HTTP and Node.jsIntro to HTTP and Node.js
Intro to HTTP and Node.js
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Venture For Canada - Growing Your Startup
Venture For Canada - Growing Your StartupVenture For Canada - Growing Your Startup
Venture For Canada - Growing Your Startup
 
Venture For Canada - Growth Marketing
Venture For Canada - Growth MarketingVenture For Canada - Growth Marketing
Venture For Canada - Growth Marketing
 
Venture For Canada - Growth Hacking
Venture For Canada - Growth HackingVenture For Canada - Growth Hacking
Venture For Canada - Growth Hacking
 
Startup Product Management - Analytics
Startup Product Management - AnalyticsStartup Product Management - Analytics
Startup Product Management - Analytics
 
Startup Product Management - Execution
Startup Product Management - ExecutionStartup Product Management - Execution
Startup Product Management - Execution
 
Startup Product Management - Planning
Startup Product Management - PlanningStartup Product Management - Planning
Startup Product Management - Planning
 
RightCycle
RightCycleRightCycle
RightCycle
 
Building WatchKit Applications
Building WatchKit ApplicationsBuilding WatchKit Applications
Building WatchKit Applications
 
Confoo Developing for Wearables
Confoo   Developing for WearablesConfoo   Developing for Wearables
Confoo Developing for Wearables
 
Innovation & Business Acquisitions of Smart Security
Innovation & Business Acquisitions of Smart SecurityInnovation & Business Acquisitions of Smart Security
Innovation & Business Acquisitions of Smart Security
 
Developing For Wearables - Lessons Learned & Best Practices
Developing For Wearables - Lessons Learned & Best PracticesDeveloping For Wearables - Lessons Learned & Best Practices
Developing For Wearables - Lessons Learned & Best Practices
 
Developing for Wearables
Developing for WearablesDeveloping for Wearables
Developing for Wearables
 
Ryerson DMZ iOS Development Workshop
Ryerson DMZ iOS Development WorkshopRyerson DMZ iOS Development Workshop
Ryerson DMZ iOS Development Workshop
 
Pigeon Presentation at We Are Wearables Toronto
Pigeon Presentation at We Are Wearables TorontoPigeon Presentation at We Are Wearables Toronto
Pigeon Presentation at We Are Wearables Toronto
 
iOS Development Workshop
iOS Development WorkshopiOS Development Workshop
iOS Development Workshop
 
Introduction to iOS development
Introduction to iOS developmentIntroduction to iOS development
Introduction to iOS development
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Add Machine Learning to your iOS 11 App Using Core ML