In Chapter 3, TensorFlow Graph Architecture, we introduced the TensorFlow graph definition and execution paradigm that, although powerful and has high expressive power, has some disadvantages, such as the following:
- A steep learning curve
- Hard to debug
- Counter-intuitive semantics when it comes to certain operations
- Python is only used to build the graph
Learning how to work with computational graphs can be tough—defining the computation instead of executing the operations as the Python interpreter encounters them is a different way of thinking compared to what most programs do, especially the ones that only work with imperative languages.
However, it is still recommended that you have a deep understanding of DataFlow graphs and how TensorFlow 1.x forced its users to think since it will help you understand many parts of the TensorFlow 2.0 architecture...