Chapter 17. Reusing and Converting Python Models to JavaScript
While training in the browser is a powerful option, you may not always want to do this because of the time involved. As you saw in Chapters 15 and 16, even training simple models can lock up the browser for some time. Having a visualization of the progress helped, but it still wasn’t the best of experiences. There are three alternatives to this approach. The first is to train models in Python and convert them to JavaScript. The second is to use existing models that were trained elsewhere and are provided in a JavaScript-ready format. The third is to use transfer learning, introduced in Chapter 3. In that case, features, weights, or biases that have been learned in one scenario can be transferred to another, instead of doing time-consuming relearning. We’ll cover the first two cases in this chapter, and then in Chapter 18 you’ll see how to do transfer learning in JavaScript.
Converting Python-Based Models to JavaScript
Models that have been trained using TensorFlow may be converted to JavaScript using the Python-based tensorflowjs
tools. You can install these using:
!pip install tensorflowjs
For example, consider the following simple model that we’ve been using throughout the book:
import
numpy
as
np
import
tensorflow
as
tf
from
tensorflow
.
keras
import
Sequential
from
tensorflow
.
keras
.
layers
import
Dense
l0
=
Dense
(
units
=
1
,
input_shape
=
[
1
]
)
model
=
Sequential
(
[
l0
]
)
model
.
compile
(
optimizer
=
'
sgd
'
,
loss
=
'
mean_squared_error ...
Get AI and Machine Learning for Coders now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.