Book Image

Intelligent Mobile Projects with TensorFlow

By : Jeff Tang
Book Image

Intelligent Mobile Projects with TensorFlow

By: Jeff Tang

Overview of this book

As a developer, you always need to keep an eye out and be ready for what will be trending soon, while also focusing on what's trending currently. So, what's better than learning about the integration of the best of both worlds, the present and the future? Artificial Intelligence (AI) is widely regarded as the next big thing after mobile, and Google's TensorFlow is the leading open source machine learning framework, the hottest branch of AI. This book covers more than 10 complete iOS, Android, and Raspberry Pi apps powered by TensorFlow and built from scratch, running all kinds of cool TensorFlow models offline on-device: from computer vision, speech and language processing to generative adversarial networks and AlphaZero-like deep reinforcement learning. You’ll learn how to use or retrain existing TensorFlow models, build your own models, and develop intelligent mobile apps running those TensorFlow models. You'll learn how to quickly build such apps with step-by-step tutorials and how to avoid many pitfalls in the process with lots of hard-earned troubleshooting tips.
Table of Contents (14 chapters)

Using Core ML with Keras and TensorFlow

The coremltools tool also officially supports converting models built with Keras (see the keras.convert link at https://apple.github.io/coremltools/coremltools.converters.html). The latest version of coremltools, 0.8, as of March 2018, works with TensorFlow 1.4 and Keras 2.1.5, which we used to build the Keras stock prediction model in Chapter 8, Predicting Stock Price with RNN. There are two ways you can use coremltools to generate the Core ML format of the model. The first is to call coremltools' convert and save methods directly in the Python Keras code after the model has been trained. For example, add the last three lines of code below to the ch8/python/keras/train.py file after model.fit:

model.fit(
X_train,
y_train,
batch_size=512,
epochs=epochs,
validation_split=0.05)

import coremltools
coreml_model = coremltools...