I haven’t written much for the blog lately, but I’ve definitely been writing… Not one, but two new books on machine learning with Core ML!
The first book is Machine Learning by Tutorials, for people who are familiar with iOS development but who are new to machine learning.
The second book is Core ML Survival Guide, which I wrote for developers who are stuck getting their models or apps to work with Core ML.
Machine Learning by Tutorials
I wrote this book together with my co-authors Audrey Tam and Chris LaPollo. We started writing shortly after WWDC 2017 when Core ML was first announced, so it certainly took us a while to get this first edition out the door…
Well, the delay was there for a good reason: We’re not using the same kinds of toy examples that everyone else does (no MNIST in this book!). Instead, we worked hard to come up with real-world projects that illustrate how you can use machine learning to make your mobile apps beter.
Just like everyone else who has written a tutorial about Core ML, we explain how to use the Core ML and Vision frameworks for doing inference on iOS. But we take it a lot further than that…
To make the most out of ML you need to have your own models. You can’t depend on the freely available models from the web, because they are usually not tailored to your app’s use cases.
But how do you get these models?
We show how to design and train your own models with Create ML, Turi Create, and Keras. Even better: we also explain the choices and trade-offs that we made in order to make these models suitable for use on mobile.
In this book, you’ll learn everything about machine learning on images, sequential data, and language. Well, maybe not everything but certainly more than enough to get started with machine learning in your own apps.
We also explain how things work under the hood, especially how neural networks operate and why they’re so effective. There’s not a lot of math — but we do try to give you some sense of why things are done a certain way.
Most of all, the book is filled with practical advice on how to use machine learning in your mobile apps.
This book is a great place to get started if you’re already familiar with Swift and iOS development and you’re looking to get into this exciting field of machine learning and deep learning. There are lots of other great places where you can learn about the technology and math behind machine learning in general — but we wrote this book specifically for machine learning on iOS.
Machine Learning by Tutorials is published by the esteemed raywenderlich.com.
Note: The book is currently in Early Access, which means it’s not completely finished yet. In the mean time you can get it at a sweet discount with free updates to the full version.
Core ML Survival Guide
The Core ML Survival Guide started as an appendix in Machine Learning by Tutorials but it grew too big and didn’t really fit in thematically, so I decided to publish this myself as a separate book.
I’ve been working with Core ML for a year and a half now, and I notice the same kinds of questions keep coming up on Stack Overflow and the Apple Developer Forums. Because I blog about this stuff, people also email me to ask how to do certain things with Core ML.
So I decided to bundle all my knowledge about Core ML into a book of tips and tricks. I guess I had a lot to say about the topic because it ended up being more than 60 chapters and over 300 pages.
This Core ML Survival Guide is for developers who:
- have questions about using Core ML
- are stuck converting their model to Core ML
- are getting the wrong results from their models
- want to get the most out of Core ML
It’s pretty clear that Core ML is the future of machine learning on iOS. If you want to use the power of the Neural Engine, Core ML is your only option.
As Core ML evolves and as I learn new things, I’ll keep adding them to this book.
So… if you’re trying to use Core ML and you run into problems, or if you want to learn how to get maximum results from Core ML, check out the Core ML Survival Guide.
Get started faster with my source code library
I’ve recently created a source code library for iOS and macOS that has fast Metal implementations of MobileNet V1 and V2, as well as SSDLite and DeepLabv3+.
This library makes it easy to put MobileNet models into your apps — as classifier, for object detection, for semantic segmentation, or as a feature extractor that’s part of a custom model.
Because this library is written to take advantage of Metal, it is much faster than Core ML and TensorFlow Lite! If you’re interested in using MobileNet in your app, then this library is the best way to get started. Learn more