What’s in store for ML developers in TensorFlow 2.0?
TensorFlow 2.0 is on its way! What can we expect from this long-awaited upgrade to one of the most popular machine learning projects? A sneak peek at the preview version suggests a cleaner API, eager execution, and a tighter integration with tf.keras.
One of the most popular Python machine learning projects is getting an update! TensorFlow recently celebrated its third birthday and we’re getting a present: news about the long-awaited TensorFlow 2.0. TensorFlow is most commonly used for its powerful machine learning training algorithms.
While some features are still being settled and developed, there are a few big goals for this major version release. TensorFlow 2.0 will focus on simplicity and ease of use, featuring updates like a cleaner, streamlined API with less duplicates or depreciated files.
Staying true to its roots, TensorFlow 2.0 is intended to encourage powerful experimentation for research, providing an environment for robust model deployment in production to any platform. And, of course, there’ll be easy model building with Keras and eager executions.
TensorFlow’s new architecture
Since its inception, TensorFlow has integrated a number of suggestions and components to the original version. Now, these ad hoc changes will be comprehensively restructured into TensorFlow 2.0’s new architecture.
In particular, they’re taking the opportunity to tidy things up and organize everything based on semantic versioning and modules. Some of the biggest changes include the removal of graph collections and queue runners, as well as changes to how variables are treated and moving and renaming API symbols.
What’s more, tf.contrib is a victim of its own success. It’s being removed from the core repository and build process since it is too big to be maintained in a single repository. In the future, larger projects will be maintained in their own repos and small extensions will slowly graduate to the core TF repos.
New features in TensorFlow 2.0
Easy model building with Keras
Recently, TensorFlow decided that Keras will be the central API used to build and train models. Keras is user-friendly and a popular API standard for machine learning, so this decision makes sense. Now, it’s simpler than ever for beginners to get started training models on TensorFlow. Keras provides a number of model-building APIs, giving developers the ability to choose the correctly level of abstraction for their projects.
TensorFlow’s implementation of Keras also contains a number of useful features, like eager execution and tf.data. Eager execution allows for immediate iteration and intuitive debugging, while tf.data makes it easier than ever to build scalable input pipelines.
Robust model deployment in production on any platform
TensorFlow is platform agnostic; it’s always let developers train and deploy their models to whatever platform or language they need. TensorFlow 2.0 goes further, with an increased commitment to improved compatibility and parity for platforms and components.
While TensorFlow is written in Python, there will be increased support for the following languages: C, Java, Go, C#, Rust, Julia, R, and more. Essentially, by following standardized exchange formats and aligning APIs, TensorFlow will continue to help developers deploy their models in production wherever they need.
Powerful experimentation for research
Machine learning is still on the cutting edge of computation and TensorFlow is there to support developers where they need it. Experiment away with these tools and features:
- Keras Functional API and Model Subclassing API
- Custom Training Logic with tf.GradientTape and tf.custom_gradient
- Extenstions like Ragged Tensors, TensorFlow Probability, and Tensor2Tensor
- Eager execution for easy prototyping & debugging
- Distribution Strategy API and AutoGraph to train at scale
- Support for TPUs
Create a customizable, scalable, and highly experimental platform with TensorFlow today!
Previewing TensorFlow 2.0
Developers can already mess around with some but not all of the features available in TensorFlow 2 here. Be warned – this is a developer preview and not ready for prime time. It is almost certainly buggy as all get out. However, when you do run into a bug or a performance issue, be kind and report it to TensorFlow’s issue tracker.
TensorFlow 2.0 is on track for a public preview later this year.
Additionally, as a community-backed project, your support is crucial. If you’ve got some spare time and want to pitch in, contributions are always welcome.