TensorFlow 1.13.1 surges forward with Python 3.7 support and enhanced core

TensorFlow 1.13.1 surges forward with Python 3.7 support and enhanced core

With the TensorFlow Dev Summit just a week away, the team behind the popular library for numerical computation has released TensorFlow 1.13.1 bringing its users Python 3.7 support and a slightly reworked project structure.

The latter is due to the goal of dissolving contrib in time for the next major release. For the 1.13.1 release this meant moving TensorFlow Lite, which is meant for mobile and embedded devices, as well as the Nvidia Collective Communication Library (NCCL), to the core library. TensorFlow Lite modules can therefore be found under tf.lite now.

Along with the new home, Lite also got some improvements including an experimental Java API for injecting TensorFlow Lite delegates, with the API now also supporting strings. And since moves in general tend to take a while, v1.13.1 also sees replacements reflecting Estimator’s new home in the core, getting rid of the contrib part in several estimator occurrences (e.g. tf.estimator.LinearEstimator was still tf.contrib.estimator.LinearEstimator in a couple of places).

The accelerated linear algebra package XLA has gotten a new environment variable to pass debug options in XRTCompile on to the CLA compilation backend, and RoundToEven can now be found in cla/client/lib/math.h. Data API tf.data should work a bit faster thanks to a couple of performance optimisation measures. It also includes a function to configure options to collect statistics from tf.data.Dataset pipelines with StatsAggregator.

TensorFlow 1.13.1 comes with a number of additional operations such as a nearest neighbour resize and LU decomposition, as well as new functionality in known ops, such as DCT-I and IDCT-I in tf.signal.dct and tf.signal.idct, quantile loss to gradient boosted trees in estimators and an unit attribute in substr, that lets users get a substring of a string containing unicode characters.

Other than that the team kept working on producing consistent behaviour all over, which is why convolutional orthogonal initialisers for example not longer scale the output l2-norm by the square root of gain but by gain itself, and conversion of Python floating types to uint32/64 has been prohibited.

Since TensorFlow 2.0 should be just around the corner, tf_upgrade_v2 is now available to help users convert their old code to the upcoming release.

Oh, and in case you were wondering where 1.13.0 went – according to Google’s Andrew Selle that version number had to be skipped due to some Git annotation trouble. So you’ve missed nothing there.