Going with the flow

TensorFlow 1.9: Improved support for tf.keras and eager execution

Jane Elizabeth
TensorFlow 1.9
© Shutterstock / freedomnaruk

TensorFlow 1.9 is here! So what does this latest update mean for the popular machine learning project? For starters, there’s an improved tf.keras beginner’s guide. For everyone else, there’s eager execution, improved GRU and LSTM implementation, and gradient boosted trees estimators.

TensorFlow 1.9 is here! The latest version of the popular machine learning project is generally available. So, now that eBay, Google, and Twitter all use TensorFlow, are you willing to give it a try? After all, it’s one of the hottest skills to have for freelancing or full time work.

It’s easier than ever with 1.9: new improvements and support makes switching over a breeze. This update focuses mostly on improvements for tf.keras documentation, GRU and LSTM implementation, and more support for gradient boosted tree emulators. Plus, bug fixes and a few breaking changes!

Major updates in TensorFlow 1.9

First off, tf.keras has updated documentation for getting started and a programmer’s guide.  It’s also been updated to the Keras 2.1. API, with new layers tf.keras.layers.CuDNNGRU and tf.keras.layers.CuDNNLSTM for developers to try. As for bugfixes, Keras code is now out of _impl folder and removes API files. Plus, tf.keras.Model.save_weights now saves in TensorFlow format by default.

TensorFlow 1.9 offers more support to core feature columns and losses to gradient boosted trees estimators, making it easier to use the non-parametric statistical learning techniques for classification and regression.

Additionally, the python interface for the TFLite Optimizing Converter has been expanded.  The command line interface (AKA: toco, tflite_convert) is included in the standard pip installation again.

TensorFlow 1.9 also offers improved data-loading and text processing with tf.decode_compressed, tf.string_strip, tf.strings.regex_full_match. There’s also added experimental support for new pre-made Estimators.

Last but not least, the distributions.Bijector API now supports broadcasting for Bijectors with new API changes.

SEE ALSO: How to migrate TensorFlow into Deeplearning4j

Breaking changes and bug fixes

There are two breaking changes in TensorFlow 1.9 to watch out for:

  • When opening empty variable scopes, replace variable_scope('', ...) with variable_scope(tf.get_variable_scope(), ...).
  • Headers for building custom ops have been moved! They are now in site-packages/tensorflow/include/externa

There are an awful lot of bugfixes in 1.9. Here are some of the big ones:

  • Network has been deprecated.
  • Layered variable names are now changed under the following conditions:
    • Using keras.layerswith custom variable scopes.
    • Using layers in a subclassed tf.keras.Model class. See here for more details.

There’s a lot of changes for tf.keras,, and more. Check the complete changelog for more information.

SEE ALSO: TensorFlow 1.7 boasts TensorRT integration for optimal speed

Getting TensorFlow 1.9

Interested in trying out the latest update yourself? Installing TensorFlow is easy. There are a number of installation guide available to help you get started. More information can be found on GitHub.

Jane Elizabeth
Jane Elizabeth is an assistant editor for

Inline Feedbacks
View all comments