Appendix A. Tips on Model Construction and Using TensorFlow Serving
Model Structuring and Customization
In this short section we will focus on two topics that continue from and extend the previous chapters—how to construct a proper model, and how to customize the model’s entities. We start by describing how we can effectively reframe our code by using encapsulations and allow its variables to be shared and reused. In the second part of this section we will talk about how to customize our own loss functions and operations and use them for optimization.
Model Structuring
Ultimately, we would like to design our TensorFlow code efficiently, so that it can be reused for multiple tasks and is easy to follow and pass around. One way to make things cleaner is to use one of the available TensorFlow extension libraries, which were discussed in Chapter 7. However, while they are great to use for typical networks, models with new components that we wish to implement may sometimes require the full flexibility of lower-level TensorFlow.
Let’s take another look at the optimization code from the previous chapter:
import
tensorflow
as
tf
NUM_STEPS
=
10
g
=
tf
.
Graph
()
wb_
=
[]
with
g
.
as_default
():
x
=
tf
.
placeholder
(
tf
.
float32
,
shape
=
[
None
,
3
])
y_true
=
tf
.
placeholder
(
tf
.
float32
,
shape
=
None
)
with
tf
.
name_scope
(
'inference'
)
as
scope
:
w
=
tf
.
Variable
([[
0
,
0
,
0
]],
dtype
=
tf
.
float32
,
name
=
'weights'
)
b
=
tf
.
Variable
(
0
,
dtype
=
tf
.
float32
,
name
=
'bias'
)
y_pred
=
tf
.
matmul ...
Get Learning TensorFlow 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.