Summary
TensorFlow 2.0 is a rich development ecosystem composed of two main parts: Training and Serving. Training consists of a set of libraries for dealing with datasets (tf.data
), a set of libraries for building models, including high-level libraries (tf.Keras
and Estimators), low-level libraries (tf.*
), and a collection of pretrained models (tf.Hub
), which will be discussed in Chapter 5, Advanced Convolutional Neural Networks. Training can happen on CPUs, GPUs, and TPUs via distribution strategies and the result can be saved using the appropriate libraries. Serving can happen on multiple platforms, including on-prem, cloud, Android, iOS, Raspberry Pi, any browser supporting JavaScript, and Node.js. Many language bindings are supported, including Python, C, C#, Java, Swift, R, and others. The following diagram summarizes the architecture of TensorFlow 2.0 as discussed in this chapter:
Figure 6: Summary of TensorFlow 2.0 architecture
- tf.data can be used to load...