What’s next, TensorFlow?

What’s next, TensorFlow?

With a preview version 2.0 of the machine learning framework planned for later this year, the TensorFlow team has offered a glance at the project’s future.

If you’ve already tried all the new features of recently released TensorFlow 1.10 or didn’t find anything in there for you, you’re in luck: TensorFlow team member Martin Wicke just announced plans for the next major release and pointed out some ways to get involved.

Version 2.0 of the open source library for numerical computation from the minds of the Google Brain team is supposed to reflect the changes in computing hardware, and machine learning research that have happened since its first public release in 2015. Apparently users can expect support for additional languages and platforms, as well as less duplications.

At the moment there are stable APIs for programming languages Python and C. Those for C++, Google’s Go, Apple’s Swift, Java and JavaScript don’t guarantee backwards compatibility at this point. There are talks however about improving compatibility by standardizing exchange formats and alignments of the programming interfaces. The team is also working on aligning expectations about the programming model with the actual practice, so that learning how to use the library should become easier.

Since the TensorFlow team plans to use the major release to introduce some breaking changes, they’re also coming up with tools to facilitate a transition. Developers who have been around since version 1.0 will be glad to hear that there’ll again be a conversion tool that updates Python code to use compatible programming interfaces and informs users if no automatic transformation is available.

For those wishing to keep using APIs that have been deprecated with the release, TensorFlow will probably offer a compatibility module, which should be maintained during the lifetime of the 2.x versions. There are no plans to break SavedModels and stored GraphDefs, though, since the current kernels are supposed to be part of the major release.

Maintainers inquire within

The tf.contrib module, which contains volatile and experimental code, won’t be distributed anymore after the 2.0 release. Since it has become too large to be maintained in a single repository, modules included will either be integrated into TensorFlow, moved into separate repositories, or removed. In the coming months, the team will work on migration plans with code owners of the first two groups. To not make the job any harder, it has already stopped adding new projects to the module. It is also in search of maintainers for a number of current tf.contrib projects, so interested parties should get in touch.

To give the community a way to propose changes and give feedback on the features planned for TensorFlow 2.0, there’ll be public design reviews via requests for comments. To take part in the process, people have to subscribe to the developer mailing list of the project.

A first preview version shall be available later this year. Developers that wish to continue using the last available 1.x version beyond the final 2.0 release, will receive security patches for another year after general availability.