a significant release of the machine learning platform , providing ready-to-use implementations of various deep learning algorithms, a simple programming interface for building models in Python, and a low-level interface for C++, allowing management of the construction and execution of computational graphs. The system code is written in C++ and Python and is licensed under the Apache license.
The platform was initially developed by the Google Brain team and is used in Google services for speech recognition, face detection in photos, image similarity determination, spam filtering in Gmail, in Google News and organizing translation based on meaning. Distributed machine learning systems can be created on standard hardware, thanks to built-in support in TensorFlow for distributing computations across multiple CPUs or GPUs.
TensorFlow provides a library of ready-made algorithms for numerical computations, implemented through data flow graphs. Nodes in such graphs implement mathematical operations or entry/exit points, while the edges of the graph represent multidimensional data arrays (tensors) that flow between nodes.
Nodes can be pinned to computing devices and executed asynchronously, processing all suitable tensors simultaneously, allowing for the simultaneous operation of nodes in a neural network, similar to the simultaneous activation of neurons in the brain.
The focus of the new version was on simplification and ease of use. :
- To build and train models, a new high-level API has been proposed , providing several interface options for building models (Sequential, Functional, Subclassing) with the capability for (without prior compilation) and a simple debugging mechanism;
- Added API for organizing of models with minimal changes to the existing code. In addition to the ability to distribute computations across , experimental support for distributing the training process across multiple independent processors and the ability to utilize cloud (Tensor Processing Unit);
- Instead of a declarative model for graph construction executed via tf.Session, there's now the ability to write standard functions in Python, which can be transformed into graphs through the tf.function call and then executed remotely, serialized, or optimized for performance improvement;
- Translator added , converting Python command streams into TensorFlow expressions, allowing you to use Python code within tf.function-decorated functions, tf.data, tf.distribute, and tf.keras;
- The SavedModel format for model exchange has been unified, and support has been added for saving and restoring model states. Models built for TensorFlow can now be used in (on mobile devices), (in the browser or Node.js), and ;
- The APIs tf.train.Optimizers and tf.keras.Optimizers have been unified; instead of compute_gradients for gradient calculation, a new class called ;
- Performance has been significantly increased when using GPUs.
The training speed of models on NVIDIA Volta and Turing GPU systems has increased up to three times; - A major API cleanup has been performed, with many calls renamed or removed and support for global variables in helper methods discontinued. A new API absl-py has been proposed instead of tf.app, tf.flags, tf.logging. A compat.v1 module has been prepared to continue using the old API.
Source: opennet.ru
