Just two months ago Google’s TensorFlow, one of the most popular machine learning platforms celebrated its third birthday. Last year in August, Martin Wicke, engineer at Google, posted the list of what’s expected in TensorFlow 2.0, an open source machine learning framework, on the Google group. The key features listed by him include:
- This release will come with eager execution.
- This release will feature more platforms and languages along with improved compatibility.
- The deprecated APIs will be removed.
- Duplications will be reduced.
TensorFlow 2.0 will be released later this year! It will encourage eager execution and high level APIs (e.g., tf.keras), it will support more platforms & languages, and there will be a lot of cleanup (less duplication, tf.contrib moved to core or other projects, etc.). https://t.co/OPsASsbFaT
— Aurélien Geron (@aureliengeron) August 16, 2018
The early preview of TensorFlow 2.0 is expected soon. TensorFlow 2.0 is expected to come with high-level APIs, robust model deployment, powerful experimentation for research and simplified API.
Easy model building with Keras
This release will come with Keras, a user-friendly API standard for machine learning which will be used for building and training the models. As Keras provides various model-building APIs including sequential, functional, and subclassing, it becomes easier for users to choose the right level of abstraction for their project.
Eager execution and tf.function
TensorFlow 2.0 will also feature eager execution, which will be used for immediate iteration and debugging. The tf.function will easily translate the Python programs into TensorFlow graphs. The performance optimizations will remain optimum and by adding the flexibility, tf.function will ease the use of expressing programs in simple Python. Further, the tf.data will be used for building scalable input pipelines.
Transfer learning with TensorFlow Hub
The team at TensorFlow has made it much easier for those who are not into building a model from scratch. Users will soon get a chance to use models from TensorFlow Hub, a library for reusable parts of machine learning models to train a Keras or Estimator model.
Many APIs are removed in this release, some of which are tf.app, tf.flags, and tf.logging. The main tf.* namespace will be cleaned by moving lesser used functions into sub packages such as tf.math. Few APIs have been replaced with their 2.0 equivalents like tf.keras.metrics, tf.summary, and tf.keras.optimizers. The v2 upgrade script can be used to automatically apply these renames.
- The queue runners will be removed in this release
- The graph collections will also get removed.
- The APIs will be renamed in this release for better usability. For example, name_scope can be accessed using tf.name_scope or tf.keras.backend.name_scope.
- For ease in migration to TensorFlow 2.0, the team at TensorFlow will provide a conversion tool for updating TensorFlow 1.x Python code for using TensorFlow 2.0 compatible APIs. It will flag the cases where code cannot be converted automatically.
- In this release, the stored GraphDefs or SavedModels will be backward compatible.
- With this release, the distribution to tf.contrib will no more be in use. Some of the existing contrib modules will be integrated into the core project or will be moved to a separate repository, rest of them will be removed.
To know about this news, check out the post by the TensorFlow team on Medium.