Last month, Google announced that the TensorFlow community plans to release a preview of TensorFlow 2.0, later this year. However, the date for the preview release has not been disclosed yet.
The 2.0 version will include major highlights such as improved eager execution, improved compatibility, support for more platforms and languages, and much more.
Key highlights in Tensorflow 2.0
- Eager execution would be an important feature of TensorFlow 2.0. It aids in aligning users’ expectations about the programming model better, with TensorFlow practice. This will thus make TensorFlow easier to learn and apply.
- This version includes a support for more platforms and languages. It will provide an improved compatibility and parity between these components via standardization on exchange formats and alignment of APIs.
- The community plans to remove deprecated APIs and reduce the amount of duplication, which has caused confusion for users.
Other improvements in TensorFlow 2.0
Increased Compatibility and continuity
TensorFlow 2.0 would be an opportunity to correct mistakes and to make improvements which are otherwise restricted under semantic versioning.
The community plans to create a conversion tool which updates the Python code to use TensorFlow 2.0 compatible APIs, to ease the transition for users. This tool will also warn in cases where conversion is not possible automatically. A similar tool helped tremendously during the transition to 1.0.
As not all changes can be made fully, automatically, the community plans to deprecate APIs, some of which do not have a direct equivalent. For such cases, they will offer a compatibility module (tensorflow.compat.v1) which contains the full TensorFlow 1.x API, and will be maintained through the lifetime of TensorFlow 2.x.
On-disk compatibility
The community would not be making any breaking changes to SavedModels or stored GraphDefs repositories. This means they will include all current kernels in 2.0 (i.e., we plan to include all current kernels in 2.0). However, the changes in 2.0 will mean that variable names in raw checkpoints might have to be converted before being compatible with new models.
Improvements to tf.contrib
As part of releasing TensorFlow 2.0, the community will stop distributing tf.contrib. For each of the contrib modules they plan to either:
- integrate the project into TensorFlow,
- move it to a separate repository, or
- remove it entirely.
This means that all of tf.contrib will be deprecated, and the community will stop adding new tf.contrib projects.
Following is a YouTube video by Aurélien Géron explaining the changes in TensorFlow 2.0 in detail.