Skip to content

Releases: tensorflow/tensorflow

TensorFlow 1.3.0-rc1

27 Jul 22:03
Compare
Choose a tag to compare
TensorFlow 1.3.0-rc1 Pre-release
Pre-release

Release 1.3.0

Major Features and Improvements

  • Added canned estimators to Tensorflow library. List of added estimators: DNNClassifier, DNNRegressor, LinearClassifer, LinearRegressor, DNNLinearCombinedClassifier, DNNLinearCombinedRegressor.
  • All our prebuilt binaries have been built with cuDNN 6.
  • Adds a file cache to the GCS filesystem with configurable max staleness for file contents. This permits caching of file contents across close/open boundaries.
  • Added an axis parameter to tf.gather.
  • Added a constant_values keyword argument to tf.pad.
  • Adds Dataset.interleave transformation.
  • Add ConcatenateDataset to concatenate two datasets.
  • Added Mobilenet support to TensorFlow for Poets training script.
  • Adds a block cache to the GCS filesystem with configurable block size and count.
  • SinhArcSinh bijector added.
  • Added Dataset.list_files API.
  • Introduces new operations and Python bindings for the Cloud TPU.
  • Adding TensorFlow-iOS CocoaPod for symmetry with tensorflow-android.
  • Introduces base implementations of ClusterResolvers.
  • Unify memory representations of TensorShape and PartialTensorShape. As a consequence, tensors now have a maximum of 254 dimensions, not 255.
  • Changed references to LIBXSMM to use version 1.8.1.
  • TensorFlow Debugger (tfdbg): Display summaries of numeric tensor values with the -s flag to command print_tensor or pt.
  • Initial release of the statistical distribution library tf.distributions.
  • GPU kernels and speed improvements for for unary tf.where and tf.nn.top_k.
  • Monotonic Attention wrappers added to tf.contrib.seq2seq.

Breaking Changes to the API

  • tf.RewriterConfig was removed from the Python API after being available in 1.2 release candidates (it was never in an actual release). Graph rewriting is still available, just not as tf.RewriterConfig. Instead add an explicit import.
  • Breaking change to tf.contrib.data.Dataset APIs that expect a nested structure. Lists are now converted to tf.Tensor implicitly. You may need to change uses of lists to tuples in existing code. In addition, dicts are now supported as a nested structure.

Changes to contrib APIs

  • Adds tf.contrib.nn.rank_sampled_softmax_loss, a sampled-softmax variant that can improve rank loss.
  • tf.contrib.metrics.{streaming_covariance,streaming_pearson_correlation} modified to return nan when they have seen less or equal to 1 unit of weight.
  • Adds time series models to contrib. See contrib/timeseries/README.md for details.
  • Adds FULLY_CONNECTED Op to tensorflow/contrib/lite/schema.fbs

Bug Fixes and Other Changes

  • Fixes 'strides' and 'begin' dtype mismatch when slicing using int64 Tensor index in python.
  • Improved convolution padding documentation.
  • Add a tag constant, gpu, to present graph with GPU support.
  • saved_model.utils now support SparseTensors transparently.
  • A more efficient implementation of non-max suppression.
  • Add support for the shrinkage-type L2 to FtrlOptimizer in addition to the online L2 it already supports.
  • Fix negative variance in moments calculation.
  • Expand UniqueOp Benchmark Tests to cover more collision cases.
  • Improves stability of GCS filesystem on Mac.
  • Add time estimation to HloCostAnalysis.
  • Fixed the bug in Estimator that params in constructor was not a deepcopy of the user provided one. This bugs inadvertently enabled user to mutate the params after the creation of Estimator, leading to potentially undefined behavior.
  • Added None check for save_path in saver.restore.
  • Register devices under their legacy names in device_mgr to ease the transition to clusterspec-propagated configurations.
  • VectorExponential added to distributions.
  • Add a bitwise module with bitwise_and, bitwise_or, bitwise_xor, and invert functions.
  • Add fixed-grid ODE integration routines.
  • Allow passing bounds to ScipyOptimizerInterface.
  • Correctness fixes for fft_length parameter to tf.spectral.rfft & tf.spectral.irfft.
  • Exported model signatures using the 'predict' method will no longer have their input and output keys silently ignored and rewritten to 'inputs' and 'outputs'. If a model was exported with different names before 1.2, and is now served with tensorflow/serving, it will accept requests using 'inputs' and 'outputs'. Starting at 1.2, such a model will accept the keys specified during export. Therefore, inference requests using 'inputs' and 'outputs' may start to fail. To fix this, either update any inference clients to send requests with the actual input and output keys used by the trainer code, or conversely, update the trainer code to name the input and output Tensors 'inputs' and 'outputs', respectively. Signatures using the 'classify' and 'regress' methods are not affected by this change; they will continue to standardize their input and output keys as before.
  • Add in-memory caching to the Dataset API.
  • Set default end_of_sequence variable in datasets iterators to false.
  • [Performance] Increase performance of tf.layers.con2d when setting use_bias=True by 2x by using nn.bias_add.
  • Update iOS examples to use CocoaPods, and moved to tensorflow/examples/ios.
  • Adds a family= attribute in tf.summary ops to allow controlling the tab name used in Tensorboard for organizing summaries.
  • When GPU is configured, do not require --config=cuda, instead, automatically build for GPU if this is requested in the configure script.
  • Fix incorrect sampling of small probabilities in CPU/GPU multinomial.
  • Add a list_devices() API on sessions to list devices within a cluster. Additionally, this change augment the ListDevices master API to support specifying a session.
  • Allow uses of over-parameterized separable convolution.
  • TensorForest multi-regression bug fix.
  • Framework now supports armv7, cocoapods.org now displays correct page.
  • Script to create iOS framework for CocoaPods.
  • Android releases of TensorFlow are now pushed to jcenter for easier integration into apps. See https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/README.md for more details.
  • Fixed a bug that prevented tfdbg from functioning with multi-GPU setups.
  • Fixed a bug that prevented tfdbg from working with tf.Session.make_callable.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

4F2E4A2E, Adriano Carmezim, Adrià Arrufat, Alan Yee, Alex Lattas, Alex Rothberg,
Alexandr Baranezky, Ali Siddiqui, Andreas Solleder, Andrei Costinescu, Andrew Hundt,
Androbin, Andy Kernahan, Anish Shah, Anthony Platanios, Arvinds-Ds, b1rd, Baptiste
Arnaud, Ben Mabey, Benedikt Linse, Beomsu Kim, Bo Wang, Boyuan Deng, Brett Koonce,
Bruno Rosa, Carl Thomé, Changming Sun, Chase Roberts, Chirag Bhatia, Chris Antaki,
Chris Hoyean Song, Chris Tava, Christos Nikolaou, Croath Liu, cxx, Czxck001, Daniel
Ylitalo, Danny Goodman, Darren Garvey, David Brailovsky, David Norman, DavidNorman,
davidpham87, ddurham2, Dhruv, DimanNe, Drew Hintz, Dustin Tran, Earthson Lu, ethiraj,
Fabian Winnen, Fei Sun, Freedom" Koan-Sin Tan, Fritz Obermeyer, Gao, Xiang, Gautam,
Guenther Schmuelling, Gyu-Ho Lee, Hauke Brammer, horance, Humanity123, J Alammar,
Jayeol Chun, Jeroen BéDorf, Jianfei Wang, jiefangxuanyan, Jing Jun Yin, Joan Puigcerver,
Joel Hestness, Johannes Mayer, John Lawson, Johnson145, Jon Malmaud, Jonathan Alvarez-Gutierrez,
Juang, Yi-Lin, Julian Viereck, Kaarthik Sivashanmugam, Karl Lessard, karl@kubx.ca, Kevin
Carbone, Kevin Van Der Burgt, Kongsea, ksellesk, lanhin, Lef Ioannidis, Liangliang He,
Louis Tiao, Luke Iwanski, LáSzló Csomor, magixsno, Mahmoud Abuzaina, Marcel Hlopko, Mark
Neumann, Maxwell Paul Brickner, mdfaijul, MichaëL Defferrard, Michał JastrzęBski, Michele
Colombo, Mike Brodie, Mosnoi Ion, mouradmourafiq, myPrecious, Nayana Thorat,
Neeraj Kashyap, Nelson Liu, Niranjan Hasabnis, Olivier Moindrot, orome, Pankaj Gupta, Paul
Van Eck, peeyush18, Peng Yu, Pierre, preciousdp11, qjivy, Raingo, raoqiyu, ribx, Richard S.
Imaoka, Rishabh Patel, Robert Walecki, Rockford Wei, Ryan Kung, Sahil Dua, Sandip Giri, Sayed
Hadi Hashemi, sgt101, Shitian Ni, Shuolongbj, Siim PõDer, Simon Perkins, sj6077, SOLARIS,
Spotlight0xff, Steffen Eberbach, Stephen Fox, superryanguo, Sven Mayer, Tapan Prakash,
Tiago Morais Morgado, Till Hoffmann, Tj Rana, Vadim Markovtsev, vhasanov, Wei Wu,
windead, Yan (Asta) Li, Yan Chen, Yann Henon, Yi Wang, Yong Tang, yorkie, Yuan (Terry)
Tang, Yuxin Wu, zhengjiajin, zhongzyd, 黄璞

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.3.0-rc0

19 Jul 22:55
Compare
Choose a tag to compare
TensorFlow 1.3.0-rc0 Pre-release
Pre-release

Release 1.3.0

Major Features and Improvements

  • Added canned estimators to Tensorflow library. List of added estimators: DNNClassifier, DNNRegressor, LinearClassifer, LinearRegressor, DNNLinearCombinedClassifier, DNNLinearCombinedRegressor.
  • All our prebuilt binaries have been built with cuDNN 6.
  • Adds a file cache to the GCS filesystem with configurable max staleness for file contents. This permits caching of file contents across close/open boundaries.
  • Added an axis parameter to tf.gather.
  • Added a constant_values keyword argument to tf.pad.
  • Adds Dataset.interleave transformation.
  • Add ConcatenateDataset to concatenate two datasets.
  • Added Mobilenet support to TensorFlow for Poets training script.
  • Adds a block cache to the GCS filesystem with configurable block size and count.
  • SinhArcSinh bijector added.
  • Added Dataset.list_files API.
  • Introduces new operations and Python bindings for the Cloud TPU.
  • Adding TensorFlow-iOS CocoaPod for symmetry with tensorflow-android.
  • Introduces base implementations of ClusterResolvers.
  • Unify memory representations of TensorShape and PartialTensorShape. As a consequence, tensors now have a maximum of 254 dimensions, not 255.
  • Changed references to LIBXSMM to use version 1.8.1.
  • TensorFlow Debugger (tfdbg): Display summaries of numeric tensor values with the -s flag to command print_tensor or pt.
  • Initial release of the statistical distribution library tf.distributions.
  • GPU kernels and speed improvements for for unary tf.where and tf.nn.top_k.
  • Monotonic Attention wrappers added to tf.contrib.seq2seq.

Breaking Changes to the API

  • tf.RewriterConfig was removed from the Python API after being available in 1.2 release candidates (it was never in an actual release). Graph rewriting is still available, just not as tf.RewriterConfig. Instead add an explicit import.
  • Breaking change to tf.contrib.data.Dataset APIs that expect a nested structure. Lists are now converted to tf.Tensor implicitly. You may need to change uses of lists to tuples in existing code. In addition, dicts are now supported as a nested structure.

Changes to contrib APIs

  • Adds tf.contrib.nn.rank_sampled_softmax_loss, a sampled-softmax variant that can improve rank loss.
  • tf.contrib.metrics.{streaming_covariance,streaming_pearson_correlation} modified to return nan when they have seen less or equal to 1 unit of weight.
  • Adds time series models to contrib. See contrib/timeseries/README.md for details.
  • Adds FULLY_CONNECTED Op to tensorflow/contrib/lite/schema.fbs

Bug Fixes and Other Changes

  • Fixes 'strides' and 'begin' dtype mismatch when slicing using int64 Tensor index in python.
  • Improved convolution padding documentation.
  • Add a tag constant, gpu, to present graph with GPU support.
  • saved_model.utils now support SparseTensors transparently.
  • A more efficient implementation of non-max suppression.
  • Add support for the shrinkage-type L2 to FtrlOptimizer in addition to the online L2 it already supports.
  • Fix negative variance in moments calculation.
  • Expand UniqueOp Benchmark Tests to cover more collision cases.
  • Improves stability of GCS filesystem on Mac.
  • Add time estimation to HloCostAnalysis.
  • Fixed the bug in Estimator that params in constructor was not a deepcopy of the user provided one. This bugs inadvertently enabled user to mutate the params after the creation of Estimator, leading to potentially undefined behavior.
  • Added None check for save_path in saver.restore.
  • Register devices under their legacy names in device_mgr to ease the transition to clusterspec-propagated configurations.
  • VectorExponential added to distributions.
  • Add a bitwise module with bitwise_and, bitwise_or, bitwise_xor, and invert functions.
  • Add fixed-grid ODE integration routines.
  • Allow passing bounds to ScipyOptimizerInterface.
  • Correctness fixes for fft_length parameter to tf.spectral.rfft & tf.spectral.irfft.
  • Exported model signatures using the 'predict' method will no longer have their input and output keys silently ignored and rewritten to 'inputs' and 'outputs'. If a model was exported with different names before 1.2, and is now served with tensorflow/serving, it will accept requests using 'inputs' and 'outputs'. Starting at 1.2, such a model will accept the keys specified during export. Therefore, inference requests using 'inputs' and 'outputs' may start to fail. To fix this, either update any inference clients to send requests with the actual input and output keys used by the trainer code, or conversely, update the trainer code to name the input and output Tensors 'inputs' and 'outputs', respectively. Signatures using the 'classify' and 'regress' methods are not affected by this change; they will continue to standardize their input and output keys as before.
  • Add in-memory caching to the Dataset API.
  • Set default end_of_sequence variable in datasets iterators to false.
  • [Performance] Increase performance of tf.layers.con2d when setting use_bias=True by 2x by using nn.bias_add.
  • Update iOS examples to use CocoaPods, and moved to tensorflow/examples/ios.
  • Adds a family= attribute in tf.summary ops to allow controlling the tab name used in Tensorboard for organizing summaries.
  • When GPU is configured, do not require --config=cuda, instead, automatically build for GPU if this is requested in the configure script.
  • Fix incorrect sampling of small probabilities in CPU/GPU multinomial.
  • Add a list_devices() API on sessions to list devices within a cluster. Additionally, this change augment the ListDevices master API to support specifying a session.
  • Allow uses of over-parameterized separable convolution.
  • TensorForest multi-regression bug fix.
  • Framework now supports armv7, cocoapods.org now displays correct page.
  • Script to create iOS framework for CocoaPods.
  • Android releases of TensorFlow are now pushed to jcenter for easier integration into apps. See https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/README.md for more details.
  • Fixed a bug that prevented tfdbg from functioning with multi-GPU setups.
  • Fixed a bug that prevented tfdbg from working with tf.Session.make_callable.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

4F2E4A2E, Adriano Carmezim, Adrià Arrufat, Alan Yee, Alex Lattas, Alex Rothberg,
Alexandr Baranezky, Ali Siddiqui, Andreas Solleder, Andrei Costinescu, Andrew Hundt,
Androbin, Andy Kernahan, Anish Shah, Anthony Platanios, Arvinds-Ds, b1rd, Baptiste
Arnaud, Ben Mabey, Benedikt Linse, Beomsu Kim, Bo Wang, Boyuan Deng, Brett Koonce,
Bruno Rosa, Carl Thomé, Changming Sun, Chase Roberts, Chirag Bhatia, Chris Antaki,
Chris Hoyean Song, Chris Tava, Christos Nikolaou, Croath Liu, cxx, Czxck001, Daniel
Ylitalo, Danny Goodman, Darren Garvey, David Brailovsky, David Norman, DavidNorman,
davidpham87, ddurham2, Dhruv, DimanNe, Drew Hintz, Dustin Tran, Earthson Lu, ethiraj,
Fabian Winnen, Fei Sun, Freedom" Koan-Sin Tan, Fritz Obermeyer, Gao, Xiang, Gautam,
Guenther Schmuelling, Gyu-Ho Lee, Hauke Brammer, horance, Humanity123, J Alammar,
Jayeol Chun, Jeroen BéDorf, Jianfei Wang, jiefangxuanyan, Jing Jun Yin, Joan Puigcerver,
Joel Hestness, Johannes Mayer, John Lawson, Johnson145, Jon Malmaud, Jonathan Alvarez-Gutierrez,
Juang, Yi-Lin, Julian Viereck, Kaarthik Sivashanmugam, Karl Lessard, karl@kubx.ca, Kevin
Carbone, Kevin Van Der Burgt, Kongsea, ksellesk, lanhin, Lef Ioannidis, Liangliang He,
Louis Tiao, Luke Iwanski, LáSzló Csomor, magixsno, Mahmoud Abuzaina, Marcel Hlopko, Mark
Neumann, Maxwell Paul Brickner, mdfaijul, MichaëL Defferrard, Michał JastrzęBski, Michele
Colombo, Mike Brodie, Mosnoi Ion, mouradmourafiq, myPrecious, Nayana Thorat,
Neeraj Kashyap, Nelson Liu, Niranjan Hasabnis, Olivier Moindrot, orome, Pankaj Gupta, Paul
Van Eck, peeyush18, Peng Yu, Pierre, preciousdp11, qjivy, Raingo, raoqiyu, ribx, Richard S.
Imaoka, Rishabh Patel, Robert Walecki, Rockford Wei, Ryan Kung, Sahil Dua, Sandip Giri, Sayed
Hadi Hashemi, sgt101, Shitian Ni, Shuolongbj, Siim PõDer, Simon Perkins, sj6077, SOLARIS,
Spotlight0xff, Steffen Eberbach, Stephen Fox, superryanguo, Sven Mayer, Tapan Prakash,
Tiago Morais Morgado, Till Hoffmann, Tj Rana, Vadim Markovtsev, vhasanov, Wei Wu,
windead, Yan (Asta) Li, Yan Chen, Yann Henon, Yi Wang, Yong Tang, yorkie, Yuan (Terry)
Tang, Yuxin Wu, zhengjiajin, zhongzyd, 黄璞

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.2.1

30 Jun 01:35
Compare
Choose a tag to compare

Release 1.2.1

Bug Fixes and Other Changes

  • Updating markdown version required to >= 2.6.8.
  • Support tensors as dropout rates again, by removing the min(max(..))

TensorFlow 1.2.0

15 Jun 21:23
Compare
Choose a tag to compare

Release 1.2.0

Major Features and Improvements

  • Python 3.6 support on Windows.

  • Added tf.layers.conv3d_transpose layer for spatio temporal deconvolution.

  • Added tf.Session.make_callable(), which provides a lower overhead means of running a similar step multiple times.

  • Added ibverbs-based RDMA support to contrib (courtesy @junshi15 from Yahoo).

  • RNNCell objects now subclass tf.layers.Layer. The strictness described
    in the TensorFlow 1.1 release is gone: The first time an RNNCell is used,
    it caches its scope. All future uses of the RNNCell will reuse variables from
    that same scope. This is a breaking change from the behavior of RNNCells
    in TensorFlow versions <= 1.0.1. TensorFlow 1.1 had checks in place to
    ensure old code works correctly with the new semantics; this version
    allows more flexible uses of RNNCell but can lead to subtle errors if
    using code meant for TensorFlow <= 1.0.1. For example, writing:
    MultiRNNCell([lstm] * 5) will now build a 5-layer LSTM stack where each
    layer shares the same parameters. To get 5 layers each with their own
    parameters, write: MultiRNNCell([LSTMCell(...) for _ in range(5)]).
    If at all unsure, first test your code with TF 1.1; ensure it raises no
    errors, and then upgrade to TF 1.2.

  • TensorForest Estimator now supports SavedModel export for serving.

  • Support client-provided ClusterSpec's and propagate them to all workers to enable the creation of dynamic TensorFlow clusters.

  • TensorFlow C library now available for Windows.

  • We released a new open-source version of TensorBoard.

  • SavedModel CLI tool available to inspect and execute MetaGraph in SavedModel

  • Android releases of TensorFlow are now pushed to jcenter for easier
    integration into apps. See
    https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/README.md
    for more details.

  • RNNCells' variable names have been renamed for consistency with Keras layers.
    Specifically, the previous variable names "weights" and "biases" have
    been changed to "kernel" and "bias", respectively.
    This may cause backward incompatibility with regard to your old
    checkpoints containing such RNN cells, in which case you can use the tool
    checkpoint_convert script
    to convert the variable names in your old checkpoints.

  • Many of the RNN functions and classes that were in the tf.nn namespace
    before the 1.0 release and which were moved to tf.contrib.rnn have now
    been moved back to the core namespace. This includes
    RNNCell, LSTMCell, GRUCell, and a number of other cells. These
    now reside in tf.nn.rnn_cell (with aliases in tf.contrib.rnn for backwards
    compatibility). The original tf.nn.rnn function is now tf.nn.static_rnn,
    and the bidirectional static and state saving static rnn functions are also
    now back in the tf.nn namespace.

    Notable exceptions are the EmbeddingWrapper, InputProjectionWrapper and
    OutputProjectionWrapper, which will slowly be moved to deprecation
    in tf.contrib.rnn. These are inefficient wrappers that should often
    be replaced by calling embedding_lookup or layers.dense as pre- or post-
    processing of the rnn. For RNN decoding, this functionality has been replaced
    with an alternative API in tf.contrib.seq2seq.

  • Intel MKL Integration (https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture). Intel developed a number of
    optimized deep learning primitives: In addition to matrix multiplication and
    convolution, these building blocks include:
    Direct batched convolution
    Pooling: maximum, minimum, average
    Normalization: LRN, batch normalization
    Activation: rectified linear unit (ReLU)
    Data manipulation: multi-dimensional transposition (conversion), split,
    concat, sum and scale.

Deprecations

  • TensorFlow 1.2 may be the last time we build with cuDNN 5.1. Starting with
    TensorFlow 1.3, we will try to build all our prebuilt binaries with cuDNN 6.0.
    While we will try to keep our source code compatible with cuDNN 5.1, it will
    be best effort.

Breaking Changes to the API

  • org.tensorflow.contrib.android.TensorFlowInferenceInterface now throws exceptions where possible and has simplified method signatures.

Changes to contrib APIs

  • Added tf.contrib.util.create_example.
  • Added bilinear interpolation to tf.contrib.image.
  • Add tf.contrib.stateless for random ops with custom seed control.
  • MultivariateNormalFullCovariance added to contrib/distributions/
  • tensorflow/contrib/rnn undergoes RNN cell variable renaming for
    consistency with Keras layers. Specifically, the previous variable names
    "weights" and "biases" are changed to "kernel" and "bias", respectively.
    This may cause backward incompatibility with regard to your old
    checkpoints containing such RNN cells, in which case you can use the
    checkpoint_convert script
    to convert the variable names in your old checkpoints.
  • Added tf.contrib.kernel_methods module with Ops and estimators for primal
    (explicit) kernel methods in TensorFlow.

Bug Fixes and Other Changes

  • In python, Operation.get_attr on type attributes returns the Python DType
    version of the type to match expected get_attr documentation rather than the
    protobuf enum.
  • Changed MIN_SDK version to 8.0 when building iOS libraries.
  • Fixed LIBXSMM integration.
  • Make decode_jpeg/decode_png/decode_gif handle all formats, since users frequently try to decode an image as the wrong type.
  • Improve implicit broadcasting lowering.
  • Improving stability of GCS/Bigquery clients by a faster retrying of stale transmissions.
  • Remove OpKernelConstruction::op_def() as part of minimizing proto dependencies.
  • VectorLaplaceDiag distribution added.
  • Android demo no longer requires libtensorflow_demo.so to run (libtensorflow_inference.so still required)
  • Added categorical_column_with_vocabulary_file.
  • Introduce ops for batching/unbatching tensors across Session::Run() calls.
  • Add tf.log_sigmoid(x) = tf.log(tf.sigmoid(x)) = -tf.nn.softplus(-x).
  • Changed hooks lists to immutable tuples, and now allow any iterable for the associated arguments.
  • Introduce TFDecorator.
  • Added an Mfcc op for speech feature generation.
  • Improved DirectSession::Run() overhead and error checking. Feeding a value of the wrong type will now synchronously raise an INVALID_ARGUMENT error instead of asynchronously raising an INTERNAL error. Code that depends on the (undefined) behavior when feeding a tensor of the wrong type may need to be updated.
  • Added unreduced NONE, and reduced MEAN options for losses. Removed "WEIGHTED_" prefix from other Reduction constants.
  • assertAllClose now handles dicts.
  • Added Gmock matcher for HloInstructions.
  • Add var name to errors on variable restore.
  • Added an AudioSpectrogram op for audio feature generation.
  • Added reduction arg to losses.
  • tf.placeholder can represent scalar shapes and partially known.
  • Remove estimator_spec(mode) argument.
  • Added an AudioSpectrogram op for audio feature generation.
  • TensorBoard disables all runs by default if there are more than 40 runs.
  • Removed old doc generator code.
  • GCS file system integration now supports domain buckets, e.g gs://bucket.domain.com/path.
  • Add tf.summary.text for outputting text to TensorBoard.
  • The "run" command of tfdbg's command-line interface now supports filtering of tensors by node name, op type and tensor dtype.
  • tf.string_to_number now supports int64 and float64 outputs.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

4F2E4A2E, Aaron Schumacher, Abhi Agg, admcrae, Adriano Carmezim, Adrià Arrufat,
agramesh1, Akimitsu Seo, Alan Mosca, Alex Egg, Alex Rothberg, Alexander Heinecke,
Alexander Matyasko, Alexandr Baranezky, Alexandre Caulier, Ali Siddiqui, Anand Venkat,
Andrew Hundt, Androbin, Anmol Sharma, Arie, Arno Leist, Arron Cao, AuréLien Geron, Bairen Yi,
Beomsu Kim, Carl Thomé, cfperez, Changming Sun, Corey Wharton, critiqjo, Dalei Li, Daniel
Rasmussen, Daniel Trebbien, DaríO Hereñú, David Eng, David Norman, David Y. Zhang, Davy Song, ddurham2,
Deepak Subburam, Dmytro Kyrychuk, Dominic Rossi, Dominik SchlöSser, Dustin Tran,
Eduardo Pinho, Egil Martinsson, Elliot Saba, Eric Bigelow, Erik Smistad, Evan Klitzke,
Fabrizio Milo, Falcon Dai, Fei Gao, FloopCZ, Fung Lam, Gautam, GBLin5566, Greg Peatfield,
Gu Wang, Guenther Schmuelling, Hans Pabst, Harun Gunaydin, Huaizheng, Ido Shamay, Ikaro
Silva, Ilya Edrenkin, Immexxx, James Mishra, Jamie Cooke, Jay Young, Jayaram Bobba,
Jianfei Wang, jinghua2, Joey Meyer, John Maidens, Jonghoon Jin, Julian Villella,
Jun Kim, Jun Shi, Junwei Pan, jyegerlehner, Karan Desai, Karel Van De Plassche,
Kb Sriram, KhabarlakKonstantin, Koan-Sin Tan, krivard, Kwotsin, Leandro Gracia Gil,
Li Chen, Liangliang He, Louie Helm, lspvic, Luiz Henrique Soares, LáSzló Csomor,
Mark Wong, Mathew Wicks, Matthew Rahtz, Maxwell Paul Brickner, Michael Hofmann, Miguel
Flores Ruiz De Eguino, MikeTam1021, Mortada Mehyar, Mycosynth, Namnamseo,
Nate Harada, Neven Miculinic, Nghia Tran, Nick Lyu, Niranjan Hasabnis, Nishidha, Oleksii
Kuchaiev, Oyesh Mann Singh, Panmari, Patrick, Paul Van Eck, Piyush Chaudhary, Quim Llimona,
Raingo, Richard Davies, Ruben Vereecken, Sahit Chintalapudi, Sam Abrahams, Santiago Castro,
Scott Sievert, Sean O'Keefe, Sebastian Schlecht, Shane, Shubhankar Deshpande, Spencer Schaber,
Sunyeop Lee, t13m, td2014, Thomas H. P. Andersen, Toby Petty, Umang Mehta,
V...

Read more

TensorFlow 1.2.0-rc2

06 Jun 22:56
Compare
Choose a tag to compare
TensorFlow 1.2.0-rc2 Pre-release
Pre-release

Release 1.2.0

Major Features and Improvements

  • Python 3.6 support on Windows.

  • Added tf.layers.conv3d_transpose layer for spatio temporal deconvolution.

  • Added tf.Session.make_callable(), which provides a lower overhead means of running a similar step multiple times.

  • Added ibverbs-based RDMA support to contrib (courtesy @junshi15 from Yahoo).

  • RNNCell objects now subclass tf.layers.Layer. The strictness described
    in the TensorFlow 1.1 release is gone: The first time an RNNCell is used,
    it caches its scope. All future uses of the RNNCell will reuse variables from
    that same scope. This is a breaking change from the behavior of RNNCells
    in TensorFlow versions <= 1.0.1. TensorFlow 1.1 had checks in place to
    ensure old code works correctly with the new semantics; this version
    allows more flexible uses of RNNCell but can lead to subtle errors if
    using code meant for TensorFlow <= 1.0.1. For example, writing:
    MultiRNNCell([lstm] * 5) will now build a 5-layer LSTM stack where each
    layer shares the same parameters. To get 5 layers each with their own
    parameters, write: MultiRNNCell([LSTMCell(...) for _ in range(5)]).
    If at all unsure, first test your code with TF 1.1; ensure it raises no
    errors, and then upgrade to TF 1.2.

  • TensorForest Estimator now supports SavedModel export for serving.

  • Support client-provided ClusterSpec's and propagate them to all workers to enable the creation of dynamic TensorFlow clusters.

  • TensorFlow C library now available for Windows.

  • We released a new open-source version of TensorBoard.

  • SavedModel CLI tool available to inspect and execute MetaGraph in SavedModel

  • Android releases of TensorFlow are now pushed to jcenter for easier
    integration into apps. See
    https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/README.md
    for more details.

  • RNNCells' variable names have been renamed for consistency with Keras layers.
    Specifically, the previous variable names "weights" and "biases" have
    been changed to "kernel" and "bias", respectively.
    This may cause backward incompatibility with regard to your old
    checkpoints containing such RNN cells, in which case you can use the tool
    checkpoint_convert script
    to convert the variable names in your old checkpoints.

  • Many of the RNN functions and classes that were in the tf.nn namespace
    before the 1.0 release and which were moved to tf.contrib.rnn have now
    been moved back to the core namespace. This includes
    RNNCell, LSTMCell, GRUCell, and a number of other cells. These
    now reside in tf.nn.rnn_cell (with aliases in tf.contrib.rnn for backwards
    compatibility). The original tf.nn.rnn function is now tf.nn.static_rnn,
    and the bidirectional static and state saving static rnn functions are also
    now back in the tf.nn namespace.

    Notable exceptions are the EmbeddingWrapper, InputProjectionWrapper and
    OutputProjectionWrapper, which will slowly be moved to deprecation
    in tf.contrib.rnn. These are inefficient wrappers that should often
    be replaced by calling embedding_lookup or layers.dense as pre- or post-
    processing of the rnn. For RNN decoding, this functionality has been replaced
    with an alternative API in tf.contrib.seq2seq.

  • Intel MKL Integration (https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture). Intel developed a number of
    optimized deep learning primitives: In addition to matrix multiplication and
    convolution, these building blocks include:
    Direct batched convolution
    Pooling: maximum, minimum, average
    Normalization: LRN, batch normalization
    Activation: rectified linear unit (ReLU)
    Data manipulation: multi-dimensional transposition (conversion), split,
    concat, sum and scale.

Deprecations

  • TensorFlow 1.2 may be the last time we build with cuDNN 5.1. Starting with
    TensorFlow 1.3, we will try to build all our prebuilt binaries with cuDNN 6.0.
    While we will try to keep our source code compatible with cuDNN 5.1, it will
    be best effort.

Breaking Changes to the API

  • org.tensorflow.contrib.android.TensorFlowInferenceInterface now throws exceptions where possible and has simplified method signatures.

Changes to contrib APIs

  • Added tf.contrib.util.create_example.
  • Added bilinear interpolation to tf.contrib.image.
  • Add tf.contrib.stateless for random ops with custom seed control.
  • MultivariateNormalFullCovariance added to contrib/distributions/
  • tensorflow/contrib/rnn undergoes RNN cell variable renaming for
    consistency with Keras layers. Specifically, the previous variable names
    "weights" and "biases" are changed to "kernel" and "bias", respectively.
    This may cause backward incompatibility with regard to your old
    checkpoints containing such RNN cells, in which case you can use the
    checkpoint_convert script
    to convert the variable names in your old checkpoints.

Bug Fixes and Other Changes

  • In python, Operation.get_attr on type attributes returns the Python DType
    version of the type to match expected get_attr documentation rather than the
    protobuf enum.
  • Changed MIN_SDK version to 8.0 when building iOS libraries.
  • Fixed LIBXSMM integration.
  • Make decode_jpeg/decode_png/decode_gif handle all formats, since users frequently try to decode an image as the wrong type.
  • Improve implicit broadcasting lowering.
  • Improving stability of GCS/Bigquery clients by a faster retrying of stale transmissions.
  • Remove OpKernelConstruction::op_def() as part of minimizing proto dependencies.
  • VectorLaplaceDiag distribution added.
  • Android demo no longer requires libtensorflow_demo.so to run (libtensorflow_inference.so still required)
  • Added categorical_column_with_vocabulary_file.
  • Introduce ops for batching/unbatching tensors across Session::Run() calls.
  • Add tf.log_sigmoid(x) = tf.log(tf.sigmoid(x)) = -tf.nn.softplus(-x).
  • Changed hooks lists to immutable tuples, and now allow any iterable for the associated arguments.
  • Introduce TFDecorator.
  • Added an Mfcc op for speech feature generation.
  • Improved DirectSession::Run() overhead and error checking. Feeding a value of the wrong type will now synchronously raise an INVALID_ARGUMENT error instead of asynchronously raising an INTERNAL error. Code that depends on the (undefined) behavior when feeding a tensor of the wrong type may need to be updated.
  • Added unreduced NONE, and reduced MEAN options for losses. Removed "WEIGHTED_" prefix from other Reduction constants.
  • assertAllClose now handles dicts.
  • Added Gmock matcher for HloInstructions.
  • Add var name to errors on variable restore.
  • Added an AudioSpectrogram op for audio feature generation.
  • Added reduction arg to losses.
  • tf.placeholder can represent scalar shapes and partially known.
  • Remove estimator_spec(mode) argument.
  • Added an AudioSpectrogram op for audio feature generation.
  • TensorBoard disables all runs by default if there are more than 40 runs.
  • Removed old doc generator code.
  • GCS file system integration now supports domain buckets, e.g gs://bucket.domain.com/path.
  • Add tf.summary.text for outputting text to TensorBoard.
  • The "run" command of tfdbg's command-line interface now supports filtering of tensors by node name, op type and tensor dtype.
  • tf.string_to_number now supports int64 and float64 outputs.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

4F2E4A2E, Aaron Schumacher, Abhi Agg, admcrae, Adriano Carmezim, Adrià Arrufat,
agramesh1, Akimitsu Seo, Alan Mosca, Alex Egg, Alex Rothberg, Alexander Heinecke,
Alexander Matyasko, Alexandr Baranezky, Alexandre Caulier, Ali Siddiqui, Anand Venkat,
Andrew Hundt, Androbin, Anmol Sharma, Arie, Arno Leist, Arron Cao, AuréLien Geron, Bairen Yi,
Beomsu Kim, Carl Thomé, cfperez, Changming Sun, Corey Wharton, critiqjo, Dalei Li, Daniel
Rasmussen, Daniel Trebbien, DaríO Hereñú, David Eng, David Norman, David Y. Zhang, Davy Song, ddurham2,
Deepak Subburam, Dmytro Kyrychuk, Dominic Rossi, Dominik SchlöSser, Dustin Tran,
Eduardo Pinho, Egil Martinsson, Elliot Saba, Eric Bigelow, Erik Smistad, Evan Klitzke,
Fabrizio Milo, Falcon Dai, Fei Gao, FloopCZ, Fung Lam, Gautam, GBLin5566, Greg Peatfield,
Gu Wang, Guenther Schmuelling, Hans Pabst, Harun Gunaydin, Huaizheng, Ido Shamay, Ikaro
Silva, Ilya Edrenkin, Immexxx, James Mishra, Jamie Cooke, Jay Young, Jayaram Bobba,
Jianfei Wang, jinghua2, Joey Meyer, John Maidens, Jonghoon Jin, Julian Villella,
Jun Kim, Jun Shi, Junwei Pan, jyegerlehner, Karan Desai, Karel Van De Plassche,
Kb Sriram, KhabarlakKonstantin, Koan-Sin Tan, krivard, Kwotsin, Leandro Gracia Gil,
Li Chen, Liangliang He, Louie Helm, lspvic, Luiz Henrique Soares, LáSzló Csomor,
Mark Wong, Mathew Wicks, Matthew Rahtz, Maxwell Paul Brickner, Michael Hofmann, Miguel
Flores Ruiz De Eguino, MikeTam1021, Mortada Mehyar, Mycosynth, Namnamseo,
Nate Harada, Neven Miculinic, Nghia Tran, Nick Lyu, Niranjan Hasabnis, Nishidha, Oleksii
Kuchaiev, Oyesh Mann Singh, Panmari, Patrick, Paul Van Eck, Piyush Chaudhary, Quim Llimona,
Raingo, Richard Davies, Ruben Vereecken, Sahit Chintalapudi, Sam Abrahams, Santiago Castro,
Scott Sievert, Sean O'Keefe, Sebastian Schlecht, Shane, Shubhankar Deshpande, Spencer Schaber,
Sunyeop Lee, t13m, td2014, Thomas H. P. Andersen, Toby Petty, Umang Mehta,
Vadim Markovtsev, Valentin Iovene, Vincent Zhao, Vit Stepanovs, Vivek Rane, Vu Pham, wannabesrevenge,
weipingpku, wuhaixuta...

Read more

TensorFlow 1.2.0-rc1

27 May 00:49
Compare
Choose a tag to compare
TensorFlow 1.2.0-rc1 Pre-release
Pre-release

Release 1.2.0

Major Features and Improvements

  • Added tf.layers.conv3d_transpose layer for spatio temporal deconvolution.

  • Added tf.Session.make_callable(), which provides a lower overhead means of running a similar step multiple times.

  • Added ibverbs-based RDMA support to contrib (courtesy @junshi15 from Yahoo).

  • RNNCell objects now subclass tf.layers.Layer. The strictness described
    in the TensorFlow 1.1 release is gone: The first time an RNNCell is used,
    it caches its scope. All future uses of the RNNCell will reuse variables from
    that same scope. This is a breaking change from the behavior of RNNCells
    in TensorFlow versions <= 1.0.1. TensorFlow 1.1 had checks in place to
    ensure old code works correctly with the new semantics; this version
    allows more flexible uses of RNNCell but can lead to subtle errors if
    using code meant for TensorFlow <= 1.0.1. For example, writing:
    MultiRNNCell([lstm] * 5) will now build a 5-layer LSTM stack where each
    layer shares the same parameters. To get 5 layers each with their own
    parameters, write: MultiRNNCell([LSTMCell(...) for _ in range(5)]).
    If at all unsure, first test your code with TF 1.1; ensure it raises no
    errors, and then upgrade to TF 1.2.

  • TensorForest Estimator now supports SavedModel export for serving.

  • Support client-provided ClusterSpec's and propagate them to all workers to enable the creation of dynamic TensorFlow clusters.

  • TensorFlow C library now available for Windows.

  • We released a new open-source version of TensorBoard.

  • SavedModel CLI tool available to inspect and execute MetaGraph in SavedModel

  • Android releases of TensorFlow are now pushed to jcenter for easier
    integration into apps. See
    https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/README.md
    for more details.

  • RNNCells' variable names have been renamed for consistency with Keras layers.
    Specifically, the previous variable names "weights" and "biases" have
    been changed to "kernel" and "bias", respectively.
    This may cause backward incompatibility with regard to your old
    checkpoints containing such RNN cells, in which case you can use the tool
    checkpoint_convert script
    to convert the variable names in your old checkpoints.

  • Many of the RNN functions and classes that were in the tf.nn namespace
    before the 1.0 release and which were moved to tf.contrib.rnn have now
    been moved back to the core namespace. This includes
    RNNCell, LSTMCell, GRUCell, and a number of other cells. These
    now reside in tf.nn.rnn_cell (with aliases in tf.contrib.rnn for backwards
    compatibility). The original tf.nn.rnn function is now tf.nn.static_rnn,
    and the bidirectional static and state saving static rnn functions are also
    now back in the tf.nn namespace.

    Notable exceptions are the EmbeddingWrapper, InputProjectionWrapper and
    OutputProjectionWrapper, which will slowly be moved to deprecation
    in tf.contrib.rnn. These are inefficient wrappers that should often
    be replaced by calling embedding_lookup or layers.dense as pre- or post-
    processing of the rnn. For RNN decoding, this functionality has been replaced
    with an alternative API in tf.contrib.seq2seq.

Deprecations

  • TensorFlow 1.2 may be the last time we build with cuDNN 5.1. Starting with
    TensorFlow 1.3, we will try to build all our prebuilt binaries with cuDNN 6.0.
    While we will try to keep our source code compatible with cuDNN 5.1, it will
    be best effort.

Breaking Changes to the API

  • org.tensorflow.contrib.android.TensorFlowInferenceInterface now throws exceptions where possible and has simplified method signatures.

Changes to contrib APIs

  • Added tf.contrib.util.create_example.
  • Added bilinear interpolation to tf.contrib.image.
  • Add tf.contrib.stateless for random ops with custom seed control.
  • MultivariateNormalFullCovariance added to contrib/distributions/
  • tensorflow/contrib/rnn undergoes RNN cell variable renaming for
    consistency with Keras layers. Specifically, the previous variable names
    "weights" and "biases" are changed to "kernel" and "bias", respectively.
    This may cause backward incompatibility with regard to your old
    checkpoints containing such RNN cells, in which case you can use the
    checkpoint_convert script
    to convert the variable names in your old checkpoints.

Bug Fixes and Other Changes

  • In python, Operation.get_attr on type attributes returns the Python DType
    version of the type to match expected get_attr documentation rather than the
    protobuf enum.
  • Changed MIN_SDK version to 8.0 when building iOS libraries.
  • Fixed LIBXSMM integration.
  • Make decode_jpeg/decode_png/decode_gif handle all formats, since users frequently try to decode an image as the wrong type.
  • Improve implicit broadcasting lowering.
  • Improving stability of GCS/Bigquery clients by a faster retrying of stale transmissions.
  • Remove OpKernelConstruction::op_def() as part of minimizing proto dependencies.
  • VectorLaplaceDiag distribution added.
  • Android demo no longer requires libtensorflow_demo.so to run (libtensorflow_inference.so still required)
  • Added categorical_column_with_vocabulary_file.
  • Introduce ops for batching/unbatching tensors across Session::Run() calls.
  • Add tf.log_sigmoid(x) = tf.log(tf.sigmoid(x)) = -tf.nn.softplus(-x).
  • Changed hooks lists to immutable tuples, and now allow any iterable for the associated arguments.
  • Introduce TFDecorator.
  • Added an Mfcc op for speech feature generation.
  • Improved DirectSession::Run() overhead and error checking. Feeding a value of the wrong type will now synchronously raise an INVALID_ARGUMENT error instead of asynchronously raising an INTERNAL error. Code that depends on the (undefined) behavior when feeding a tensor of the wrong type may need to be updated.
  • Added unreduced NONE, and reduced MEAN options for losses. Removed "WEIGHTED_" prefix from other Reduction constants.
  • assertAllClose now handles dicts.
  • Added Gmock matcher for HloInstructions.
  • Add var name to errors on variable restore.
  • Added an AudioSpectrogram op for audio feature generation.
  • Added reduction arg to losses.
  • tf.placeholder can represent scalar shapes and partially known.
  • Remove estimator_spec(mode) argument.
  • Added an AudioSpectrogram op for audio feature generation.
  • TensorBoard disables all runs by default if there are more than 40 runs.
  • Removed old doc generator code.
  • GCS file system integration now supports domain buckets, e.g gs://bucket.domain.com/path.
  • Add tf.summary.text for outputting text to TensorBoard.
  • The "run" command of tfdbg's command-line interface now supports filtering of tensors by node name, op type and tensor dtype.
  • tf.string_to_number now supports int64 and float64 outputs.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

4F2E4A2E, Aaron Schumacher, Abhi Agg, admcrae, Adriano Carmezim, Adrià Arrufat,
agramesh1, Akimitsu Seo, Alan Mosca, Alex Egg, Alex Rothberg, Alexander Heinecke,
Alexander Matyasko, Alexandr Baranezky, Alexandre Caulier, Ali Siddiqui, Anand Venkat,
Andrew Hundt, Androbin, Anmol Sharma, Arie, Arno Leist, Arron Cao, AuréLien Geron, Bairen Yi,
Beomsu Kim, Carl Thomé, cfperez, Changming Sun, Corey Wharton, critiqjo, Dalei Li, Daniel
Rasmussen, Daniel Trebbien, DaríO Hereñú, David Eng, David Norman, David Y. Zhang, Davy Song, ddurham2,
Deepak Subburam, Dmytro Kyrychuk, Dominic Rossi, Dominik SchlöSser, Dustin Tran,
Eduardo Pinho, Egil Martinsson, Elliot Saba, Eric Bigelow, Erik Smistad, Evan Klitzke,
Fabrizio Milo, Falcon Dai, Fei Gao, FloopCZ, Fung Lam, Gautam, GBLin5566, Greg Peatfield,
Gu Wang, Guenther Schmuelling, Hans Pabst, Harun Gunaydin, Huaizheng, Ido Shamay, Ikaro
Silva, Ilya Edrenkin, Immexxx, James Mishra, Jamie Cooke, Jay Young, Jayaram Bobba,
Jianfei Wang, jinghua2, Joey Meyer, John Maidens, Jonghoon Jin, Julian Villella,
Jun Kim, Jun Shi, Junwei Pan, jyegerlehner, Karan Desai, Karel Van De Plassche,
Kb Sriram, KhabarlakKonstantin, Koan-Sin Tan, krivard, Kwotsin, Leandro Gracia Gil,
Li Chen, Liangliang He, Louie Helm, lspvic, Luiz Henrique Soares, LáSzló Csomor,
Mark Wong, Mathew Wicks, Matthew Rahtz, Maxwell Paul Brickner, Michael Hofmann, Miguel
Flores Ruiz De Eguino, MikeTam1021, Mortada Mehyar, Mycosynth, Namnamseo,
Nate Harada, Neven Miculinic, Nghia Tran, Nick Lyu, Niranjan Hasabnis, Nishidha, Oleksii
Kuchaiev, Oyesh Mann Singh, Panmari, Patrick, Paul Van Eck, Piyush Chaudhary, Quim Llimona,
Raingo, Richard Davies, Ruben Vereecken, Sahit Chintalapudi, Sam Abrahams, Santiago Castro,
Scott Sievert, Sean O'Keefe, Sebastian Schlecht, Shane, Shubhankar Deshpande, Spencer Schaber,
Sunyeop Lee, t13m, td2014, Thomas H. P. Andersen, Toby Petty, Umang Mehta,
Vadim Markovtsev, Valentin Iovene, Vincent Zhao, Vit Stepanovs, Vivek Rane, Vu Pham, wannabesrevenge,
weipingpku, wuhaixutab, wydwww, Xiang Gao, Xiaolin Lin, xiaoyaozhuzi, Yaroslav Bulatov, Yi Liu,
Yoshihiro Sugi, Yuan (Terry) Tang, Yuming Wang, Yuxin Wu, Zader Zheng, Zhaojun Zhang, zhengjiajin,
ZhipengShen, Ziming Dong, zjj2wry

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.2.0-rc0

20 May 18:17
Compare
Choose a tag to compare
TensorFlow 1.2.0-rc0 Pre-release
Pre-release

Release 1.2.0

Major Features and Improvements

  • Added tf.layers.conv3d_transpose layer for spatio temporal deconvolution.
  • Added tf.Session.make_callable(), which provides a lower overhead means of running a similar step multiple times.
  • Added ibverbs-based RDMA support to contrib (courtesy @junshi15 from Yahoo).
  • RNNCell objects now subclass tf.layers._Layer. The strictness described
    in the TensorFlow 1.1 release is gone: The first time an RNNCell is used,
    it caches its scope. All future uses of the RNNCell will reuse variables from
    that same scope. This is a breaking change from the behavior of RNNCells
    in TensorFlow versions <= 1.0.1. TensorFlow 1.1 had checks in place to
    ensure old code works correctly with the new semantics; this version
    allows more flexible uses of RNNCell but can lead to subtle errors if
    using code meant for TensorFlow <= 1.0.1. For example, writing:
    MultiRNNCell([lstm] * 5) will now build a 5-layer LSTM stack where each
    layer shares the same parameters. To get 5 layers each with their own
    parameters, write: MultiRNNCell([LSTMCell(...) for _ in range(5)]).
    If at all unsure, first test your code with TF 1.1; ensure it raises no
    errors, and then upgrade to TF 1.2.
  • TensorForest Estimator now supports SavedModel export for serving.
  • Support client-provided ClusterSpec's and propagate them to all workers to enable the creation of dynamic TensorFlow clusters.
  • TensorFlow C library now available for Windows.
  • We released a new open-source version of TensorBoard.

Breaking Changes to the API

  • org.tensorflow.contrib.android.TensorFlowInferenceInterface now throws exceptions where possible and has simplified method signatures.

Changes to contrib APIs

  • Added tf.contrib.util.create_example.
  • Added bilinear interpolation to tf.contrib.image.
  • Add tf.contrib.stateless for random ops with custom seed control.
  • MultivariateNormalFullCovariance added to contrib/distributions/

Bug Fixes and Other Changes

  • In python, Operation.get_attr on type attributes returns the Python DType
    version of the type to match expected get_attr documentation rather than the
    protobuf enum.
  • Changed MIN_SDK version to 8.0 when building iOS libraries.
  • Fixed LIBXSMM integration.
  • Make decode_jpeg/decode_png/decode_gif handle all formats, since users frequently try to decode an image as the wrong type.
  • Improve implicit broadcasting lowering.
  • Improving stability of GCS/Bigquery clients by a faster retrying of stale transmissions.
  • Remove OpKernelConstruction::op_def() as part of minimizing proto dependencies.
  • VectorLaplaceDiag distribution added.
  • Android demo no longer requires libtensorflow_demo.so to run (libtensorflow_inference.so still required)
  • Added categorical_column_with_vocabulary_file.
  • Introduce ops for batching/unbatching tensors across Session::Run() calls.
  • Add tf.log_sigmoid(x) = tf.log(tf.sigmoid(x)) = -tf.nn.softplus(-x).
  • Changed hooks lists to immutable tuples, and now allow any iterable for the associated arguments.
  • Introduce TFDecorator.
  • Added an Mfcc op for speech feature generation.
  • Improved DirectSession::Run() overhead and error checking. Feeding a value of the wrong type will now synchronously raise an INVALID_ARGUMENT error instead of asynchronously raising an INTERNAL error. Code that depends on the (undefined) behavior when feeding a tensor of the wrong type may need to be updated.
  • Added unreduced NONE, and reduced MEAN options for losses. Removed "WEIGHTED_" prefix from other Reduction constants.
  • assertAllClose now handles dicts.
  • Added Gmock matcher for HloInstructions.
  • Add var name to errors on variable restore.
  • Added an AudioSpectrogram op for audio feature generation.
  • Added reduction arg to losses.
  • tf.placeholder can represent scalar shapes and partially known.
  • Remove estimator_spec(mode) argument.
  • Added an AudioSpectrogram op for audio feature generation.
  • TensorBoard disables all runs by default if there are more than 40 runs.
  • Removed old doc generator code.
  • GCS file system integration now supports domain buckets, e.g gs://bucket.domain.com/path.
  • Add tf.summary.text for outputting text to TensorBoard.
  • The "run" command of tfdbg's command-line interface now supports filtering of tensors by node name, op type and tensor dtype.
  • tf.string_to_number now supports int64 and float64 outputs.
  • SavedModel CLI tool available to inspect and execute MetaGraph in SavedModel

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

4F2E4A2E, Aaron Schumacher, Abhi Agg, admcrae, Adriano Carmezim, Adrià Arrufat,
agramesh1, Akimitsu Seo, Alan Mosca, Alex Egg, Alex Rothberg, Alexander Heinecke,
Alexander Matyasko, Alexandr Baranezky, Alexandre Caulier, Ali Siddiqui, Anand Venkat,
Andrew Hundt, Androbin, Anmol Sharma, Arie, Arno Leist, Arron Cao, AuréLien Geron, Bairen Yi,
Beomsu Kim, Carl Thomé, cfperez, Changming Sun, Corey Wharton, critiqjo, Dalei Li, Daniel
Rasmussen, Daniel Trebbien, DaríO Hereñú, David Eng, David Norman, David Y. Zhang, Davy Song, ddurham2, Deepak Subburam, Dmytro Kyrychuk, Dominic Rossi, Dominik SchlöSser, Dustin Tran,
Eduardo Pinho, Egil Martinsson, Elliot Saba, Eric Bigelow, Erik Smistad, Evan Klitzke,
Fabrizio Milo, Falcon Dai, Fei Gao, FloopCZ, Fung Lam, Gautam, GBLin5566, Greg Peatfield,
Gu Wang, Guenther Schmuelling, Hans Pabst, Harun Gunaydin, Huaizheng, Ido Shamay, Ikaro
Silva, Ilya Edrenkin, Immexxx, James Mishra, Jamie Cooke, Jay Young, Jayaram Bobba,
Jianfei Wang, jinghua2, Joey Meyer, John Maidens, Jonghoon Jin, Julian Villella,
Jun Kim, Jun Shi, Junwei Pan, jyegerlehner, Karan Desai, Karel Van De Plassche,
Kb Sriram, KhabarlakKonstantin, Koan-Sin Tan, krivard, Kwotsin, Leandro Gracia Gil,
Li Chen, Liangliang He, Louie Helm, lspvic, Luiz Henrique Soares, LáSzló Csomor,
Mark Wong, Mathew Wicks, Matthew Rahtz, Maxwell Paul Brickner, Michael Hofmann, Miguel
Flores Ruiz De Eguino, MikeTam1021, Mortada Mehyar, Mycosynth, Namnamseo,
Nate Harada, Neven Miculinic, Nghia Tran, Nick Lyu, Niranjan Hasabnis, Nishidha, Oleksii
Kuchaiev, Oyesh Mann Singh, Panmari, Patrick, Paul Van Eck, Piyush Chaudhary, Quim Llimona,
Raingo, Richard Davies, Ruben Vereecken, Sahit Chintalapudi, Sam Abrahams, Santiago Castro,
Scott Sievert, Sean O'Keefe, Sebastian Schlecht, Shane, Shubhankar Deshpande, Spencer Schaber,
Sunyeop Lee, t13m, td2014, Thomas H. P. Andersen, Toby Petty, Umang Mehta, Vadim Markovtsev, Valentin Iovene, Vincent Zhao, Vit Stepanovs, Vivek Rane, Vu Pham, wannabesrevenge, weipingpku, wuhaixutab, wydwww, Xiang Gao, Xiaolin Lin, xiaoyaozhuzi, Yaroslav Bulatov, Yi Liu, Yoshihiro Sugi, Yuan (Terry) Tang, Yuming Wang, Yuxin Wu, Zader Zheng, Zhaojun Zhang, zhengjiajin, ZhipengShen, Ziming Dong, zjj2wry

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.1.0

26 Apr 22:25
Compare
Choose a tag to compare

Release 1.1.0

Major Features and Improvements

  • Added Java API support for Windows.
  • Added tf.spectral module. Moved existing FFT ops to tf.spectral while
    keeping an alias in the old location (tf.*).
  • Added 1D, 2D and 3D Fourier transform ops for real signals to tf.spectral.
  • Added a tf.bincount function.
  • Added Keras 2 API to contrib.
  • Added a new lightweight queue-like object - RecordInput.
  • Added tf.contrib.image.compose_transforms function.
  • Bring tf.estimator.* into the API. Non-deprecated functionality from tf.contrib.learn.Estimator is moved to tf.estimator.Estimator with cosmetic changes.
  • Docker images: TF images on gcr.io and Docker Hub are upgraded to ubuntu:16.04.
  • Added the following features to TensorFlow Debugger (tfdbg):
    • Ability to inspect Python source file against TF ops and tensors (command print_source / ps)
    • New navigation bar in Curses-based UI
    • NodeStepper (command invoke_stepper) now uses intermediate tensor dumps. It also uses TensorHandles as direct feeds during successive cont calls for improved performance and reduced memory consumption.
  • Initial release of installation guides for Java, C, and Go.
  • Added Text Dashboard to TensorBoard.

Deprecations

  • TensorFlow 1.1.0 will be the last time we release a binary with Mac GPU support. Going forward, we will stop testing on Mac GPU systems. We continue to welcome patches that maintain Mac GPU support, and we will try to keep the Mac GPU build working.

Changes to contrib APIs

  • The behavior of RNNCells is now stricter due to the transition towards making RNNCells act more like Keras layers.
    • If an RNNCell is used twice in two different variable scopes, an error is raised describing how to avoid this behavior.
    • If an RNNCell is used in a variable scope with existing conflicting variables, an error is raised showing that the RNNCell must be constructed with argument reuse=True.
  • Deprecated contrib/distributions pmf, pdf, log_pmf, log_pdf.
  • Moved bayesflow.special_math to distributions.
  • tf.contrib.tensor_forest.python.tensor_forest.RandomForestDeviceAssigner removed.
  • Changed some MVN classes and parameters:
    • tf.contrib.distributions.MultivariateNormalFull replaced by tf.contrib.distributions.MultivariateNormalTriL.
    • tf.contrib.distributions.MultivariateNormalCholesky replaced by tf.contrib.distributions.MultivariateNormalTriL
    • tf.contrib.distributions.MultivariateNormalDiagWithSoftplusStDev replaced
      by tf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale
    • tf.contrib.distributions.MultivariateNormalDiag arguments changed from mu, diag_stddev to log, scale_diag.
    • tf.contrib.distributions.MultivariateNormalDiagPlusVDVT removed.
    • tf.contrib.distributions.MultivariateNormalDiagPlusLowRank added.

Bug Fixes and Other Changes

  • Java: Support for loading models exported using the SavedModel API (courtesy @EronWright).
  • Go: Added support for incremental graph execution.
  • Fix a bug in the WALS solver when single-threaded.
  • Added support for integer sparse feature values in tf.contrib.layers.sparse_column_with_keys.
  • Fixed tf.set_random_seed(0) to be deterministic for all ops.
  • Stability improvements for the GCS file system support.
  • Improved TensorForest performance.
  • Added support for multiple filename globs in tf.matching_files.
  • LogMessage now includes a timestamp as beginning of a message.
  • Added MultiBox person detector example standalone binary.
  • Android demo: Makefile build functionality added to build.gradle to fully support building TensorFlow demo in Android on Windows.
  • Android demo: read MultiBox priors from txt file rather than protobuf.
  • Added colocation constraints to StagingArea.
  • sparse_matmul_op reenabled for Android builds.
  • Restrict weights rank to be the same as the broadcast target, to avoid ambiguity on broadcast rules.
  • Upgraded libxsmm to 1.7.1 and applied other changes for performance and memory usage.
  • Fixed bfloat16 integration of LIBXSMM sparse mat-mul.
  • Improved performance and reduce memory usage by allowing ops to forward input buffers to output buffers and perform computations in-place.
  • Improved the performance of CPU assignment for strings.
  • Speed up matrix * vector multiplication and matrix * matrix with unknown shapes.
  • C API: Graph imports now support input remapping, control dependencies, and returning imported nodes (see TF_GraphImportGraphDefWithReturnOutputs())
  • Multiple C++ API updates.
  • Multiple TensorBoard updates including:
    • Users can now view image summaries at various sampled steps (instead of just the last step).
    • Bugs involving switching runs as well as the image dashboard are fixed.
    • Removed data download links from TensorBoard.
    • TensorBoard uses a relative data directory, for easier embedding.
    • TensorBoard automatically ignores outliers for domain calculation, and formats proportional values consistently.
  • Multiple tfdbg bug fixes:
    • Fixed Windows compatibility issues.
    • Command history now persists across runs.
    • Bug fix in graph validation related to tf.while_loops.
  • Java Maven fixes for bugs with Windows installation.
  • Backport fixes and improvements from external keras.
  • Keras config file handling fix.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

A. Besir Kurtulmus, Adal Chiriliuc, @akash, Alec-Desouza, Alex Rothberg, Alex
Sergeev, Alexander Heinecke, Allen Guo, Andreas Madsen, Ankesh Anand, Anton
Loss, @aravind, @Arie, Ashutosh Das, AuréLien Geron, Bairen Yi, @bakunyo, Ben
Visser, Brady Zhou, Calpa Liu, Changming Sun, Chih Cheng Liang, Christopher
Berner, Clark Zinzow, @Conchylicultor, Dan Ellis, Dan J, Dan Jarvis, Daniel
Ylitalo, Darren Garvey, David Norman, David Truong, @DavidNorman, Dimitar
Pavlov, Dmitry Persiyanov, @eddie, @elirex, Erfan Noury, Eron Wright, Evgeny
Mazovetskiy, Fabrizio (Misto) Milo, @fanlu, Fisher Coder, Florian Courtial,
Franck Dernoncourt, Gagan Goel, Gao, Xiang, @Gautam, Gefu Tang, @guilherme,
@guschmue, Hannah Provenza, Hans Pabst, @hartb, Hsiao Yi, Huazuo Gao, Igor
ChorążEwicz, Ivan Smirnov, Jakub Kolodziejczyk, Jason Gavris, Jason Morton, Jay
Young, Jayaram Bobba, Jeremy Sawruk, Jiaming Liu, Jihun Choi, @jiqiu, Joan Thibault,
John C F, Jojy George Varghese, Jon Malmaud, Julian Berman, Julian Niedermeier,
Junpeng Lao, Kai Sasaki, @Kankroc, Karl Lessard, Kyle Bostelmann, @lezcano, Li
Yi, Luo Yun, @lurker, Mahmoud-Abuzaina, Mandeep Singh, Marek Kolodziej, Mark
Szepieniec, Martial Hue, Medhat Omr, Memo Akten, Michael Gharbi, MichaëL Defferrard,
Milan Straka, @MircoT, @mlucool, Muammar Ibn Faisal, Nayana Thorat, @nghiattran,
Nicholas Connor, Nikolaas Steenbergen, Niraj Patel, Niranjan Hasabnis, @panmari,
Pavel Bulanov, Philip Pries Henningsen, Philipp Jund, @polonez, Prayag Verma, Rahul
Kavi, Raphael Gontijo Lopes, @rasbt, Raven Iqqe, Reid Pryzant, Richard Shin, Rizwan
Asif, Russell Kaplan, Ryo Asakura, RüDiger Busche, Saisai Shao, Sam Abrahams, @sanosay,
Sean Papay, @SeaOtterMan, @selay01, Shaurya Sharma, Sriram Narayanamoorthy, Stefano
Probst, @taknevski, @tbonza, @teldridge11, Tim Anglade, Tomas Reimers, Tomer Gafner,
Valentin Iovene, Vamsi Sripathi, Viktor Malyi, Vit Stepanovs, Vivek Rane, Vlad Firoiu,
@wangg12, @will, Xiaoyu Tao, Yaroslav Bulatov, Yi Liu, Yuan (Terry) Tang, @yufeng,
Yuming Wang, Yuxin Wu, Zafar Takhirov, Ziming Dong

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.1.0-rc2

14 Apr 23:25
Compare
Choose a tag to compare
TensorFlow 1.1.0-rc2 Pre-release
Pre-release

Release 1.1.0

Major Features and Improvements

  • Added Java API support for Windows.
  • Added tf.spectral module. Moved existing FFT ops to tf.spectral while
    keeping an alias in the old location (tf.*).
  • Added 1D, 2D and 3D Fourier transform ops for real signals to tf.spectral.
  • Added a tf.bincount function.
  • Added Keras 2 API to contrib.
  • Added a new lightweight queue-like object - RecordInput.
  • Added tf.contrib.image.compose_transforms function.
  • Bring tf.estimator.* into the API. Non-deprecated functionality from tf.contrib.learn.Estimator is moved to tf.estimator.Estimator with cosmetic changes.
  • Docker images: TF images on gcr.io and Docker Hub are upgraded to ubuntu:16.04.
  • Added the following features to TensorFlow Debugger (tfdbg):
    • Ability to inspect Python source file against TF ops and tensors (command print_source / ps)
    • New navigation bar in Curses-based UI
    • NodeStepper (command invoke_stepper) now uses intermediate tensor dumps. It also uses TensorHandles as direct feeds during successive cont calls for improved performance and reduced memory consumption.
  • Initial release of installation guides for Java, C, and Go.
  • Added Text Dashboard to TensorBoard.

Deprecations

  • TensorFlow 1.1.0 will be the last time we release a binary with Mac GPU support. Going forward, we will stop testing on Mac GPU systems. We continue to welcome patches that maintain Mac GPU support, and we will try to keep the Mac GPU build working.

Changes to contrib APIs

  • The behavior of RNNCells is now stricter due to the transition towards making RNNCells act more like Keras layers.
    • If an RNNCell is used twice in two different variable scopes, an error is raised describing how to avoid this behavior.
    • If an RNNCell is used in a variable scope with existing conflicting variables, an error is raised showing that the RNNCell must be constructed with argument reuse=True.
  • Deprecated contrib/distributions pmf, pdf, log_pmf, log_pdf.
  • Moved bayesflow.special_math to distributions.
  • tf.contrib.tensor_forest.python.tensor_forest.RandomForestDeviceAssigner removed.
  • Changed some MVN classes and parameters:
    • tf.contrib.distributions.MultivariateNormalFull replaced by tf.contrib.distributions.MultivariateNormalTriL.
    • tf.contrib.distributions.MultivariateNormalCholesky replaced by tf.contrib.distributions.MultivariateNormalTriL
    • tf.contrib.distributions.MultivariateNormalDiagWithSoftplusStDev replaced
      by tf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale
    • tf.contrib.distributions.MultivariateNormalDiag arguments changed from mu, diag_stddev to log, scale_diag.
    • tf.contrib.distributions.MultivariateNormalDiagPlusVDVT removed.
    • tf.contrib.distributions.MultivariateNormalDiagPlusLowRank added.

Bug Fixes and Other Changes

  • Java: Support for loading models exported using the SavedModel API (courtesy @EronWright).
  • Go: Added support for incremental graph execution.
  • Fix a bug in the WALS solver when single-threaded.
  • Added support for integer sparse feature values in tf.contrib.layers.sparse_column_with_keys.
  • Fixed tf.set_random_seed(0) to be deterministic for all ops.
  • Stability improvements for the GCS file system support.
  • Improved TensorForest performance.
  • Added support for multiple filename globs in tf.matching_files.
  • LogMessage now includes a timestamp as beginning of a message.
  • Added MultiBox person detector example standalone binary.
  • Android demo: Makefile build functionality added to build.gradle to fully support building TensorFlow demo in Android on Windows.
  • Android demo: read MultiBox priors from txt file rather than protobuf.
  • Added colocation constraints to StagingArea.
  • sparse_matmul_op reenabled for Android builds.
  • Restrict weights rank to be the same as the broadcast target, to avoid ambiguity on broadcast rules.
  • Upgraded libxsmm to 1.7.1 and applied other changes for performance and memory usage.
  • Fixed bfloat16 integration of LIBXSMM sparse mat-mul.
  • Improved performance and reduce memory usage by allowing ops to forward input buffers to output buffers and perform computations in-place.
  • Improved the performance of CPU assignment for strings.
  • Speed up matrix * vector multiplication and matrix * matrix with unknown shapes.
  • C API: Graph imports now support input remapping, control dependencies, and returning imported nodes (see TF_GraphImportGraphDefWithReturnOutputs())
  • Multiple C++ API updates.
  • Multiple TensorBoard updates including:
    • Users can now view image summaries at various sampled steps (instead of just the last step).
    • Bugs involving switching runs as well as the image dashboard are fixed.
    • Removed data download links from TensorBoard.
    • TensorBoard uses a relative data directory, for easier embedding.
    • TensorBoard automatically ignores outliers for domain calculation, and formats proportional values consistently.
  • Multiple tfdbg bug fixes:
    • Fixed Windows compatibility issues.
    • Command history now persists across runs.
    • Bug fix in graph validation related to tf.while_loops.
  • Java Maven fixes for bugs with Windows installation.
  • Backport fixes and improvements from external keras.
  • Keras config file handling fix.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

A. Besir Kurtulmus, Adal Chiriliuc, @akash, Alec-Desouza, Alex Rothberg, Alex
Sergeev, Alexander Heinecke, Allen Guo, Andreas Madsen, Ankesh Anand, Anton
Loss, @aravind, @Arie, Ashutosh Das, AuréLien Geron, Bairen Yi, @bakunyo, Ben
Visser, Brady Zhou, Calpa Liu, Changming Sun, Chih Cheng Liang, Christopher
Berner, Clark Zinzow, @Conchylicultor, Dan Ellis, Dan J, Dan Jarvis, Daniel
Ylitalo, Darren Garvey, David Norman, David Truong, @DavidNorman, Dimitar
Pavlov, Dmitry Persiyanov, @eddie, @elirex, Erfan Noury, Eron Wright, Evgeny
Mazovetskiy, Fabrizio (Misto) Milo, @fanlu, Fisher Coder, Florian Courtial,
Franck Dernoncourt, Gagan Goel, Gao, Xiang, @Gautam, Gefu Tang, @guilherme,
@guschmue, Hannah Provenza, Hans Pabst, @hartb, Hsiao Yi, Huazuo Gao, Igor
ChorążEwicz, Ivan Smirnov, Jakub Kolodziejczyk, Jason Gavris, Jason Morton, Jay
Young, Jayaram Bobba, Jeremy Sawruk, Jiaming Liu, Jihun Choi, @jiqiu, Joan Thibault,
John C F, Jojy George Varghese, Jon Malmaud, Julian Berman, Julian Niedermeier,
Junpeng Lao, Kai Sasaki, @Kankroc, Karl Lessard, Kyle Bostelmann, @lezcano, Li
Yi, Luo Yun, @lurker, Mahmoud-Abuzaina, Mandeep Singh, Marek Kolodziej, Mark
Szepieniec, Martial Hue, Medhat Omr, Memo Akten, Michael Gharbi, MichaëL Defferrard,
Milan Straka, @MircoT, @mlucool, Muammar Ibn Faisal, Nayana Thorat, @nghiattran,
Nicholas Connor, Nikolaas Steenbergen, Niraj Patel, Niranjan Hasabnis, @panmari,
Pavel Bulanov, Philip Pries Henningsen, Philipp Jund, @polonez, Prayag Verma, Rahul
Kavi, Raphael Gontijo Lopes, @rasbt, Raven Iqqe, Reid Pryzant, Richard Shin, Rizwan
Asif, Russell Kaplan, Ryo Asakura, RüDiger Busche, Saisai Shao, Sam Abrahams, @sanosay,
Sean Papay, @SeaOtterMan, @selay01, Shaurya Sharma, Sriram Narayanamoorthy, Stefano
Probst, @taknevski, @tbonza, @teldridge11, Tim Anglade, Tomas Reimers, Tomer Gafner,
Valentin Iovene, Vamsi Sripathi, Viktor Malyi, Vit Stepanovs, Vivek Rane, Vlad Firoiu,
@wangg12, @will, Xiaoyu Tao, Yaroslav Bulatov, Yi Liu, Yuan (Terry) Tang, @yufeng,
Yuming Wang, Yuxin Wu, Zafar Takhirov, Ziming Dong

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.1.0-rc1

04 Apr 21:30
Compare
Choose a tag to compare
TensorFlow 1.1.0-rc1 Pre-release
Pre-release

Release 1.1.0

Major Features and Improvements

  • Added Java API support for Windows.
  • Added tf.spectral module. Moved existing FFT ops to tf.spectral while
    keeping an alias in the old location (tf.*).
  • Added 1D, 2D and 3D Fourier transform ops for real signals to tf.spectral.
  • Added a tf.bincount function.
  • Added Keras 2 API to contrib.
  • Added a new lightweight queue-like object - RecordInput.
  • Added tf.contrib.image.compose_transforms function.
  • Bring tf.estimator.* into the API. Non-deprecated functionality from tf.contrib.learn.Estimator is moved to tf.estimator.Estimator with cosmetic changes.
  • Docker images: TF images on gcr.io and Docker Hub are upgraded to ubuntu:16.04.
  • Added the following features to TensorFlow Debugger (tfdbg):
    • Ability to inspect Python source file against TF ops and tensors (command print_source / ps)
    • New navigation bar in Curses-based UI
    • NodeStepper (command invoke_stepper) now uses intermediate tensor dumps. It also uses TensorHandles as direct feeds during successive cont calls for improved performance and reduced memory consumption.
  • Initial release of installation guides for Java, C, and Go.

Deprecations

  • TensorFlow 1.1.0 will be the last time we release a binary with Mac GPU support. Going forward, we will stop testing on Mac GPU systems. We continue to welcome patches that maintain Mac GPU support, and we will try to keep the Mac GPU build working.

Changes to contrib APIs

  • The behavior of RNNCells is now stricter due to the transition towards making RNNCells act more like Keras layers.
    • If an RNNCell is used twice in two different variable scopes, an error is raised describing how to avoid this behavior.
    • If an RNNCell is used in a variable scope with existing conflicting variables, an error is raised showing that the RNNCell must be constructed with argument reuse=True.
  • Deprecated contrib/distributions pmf, pdf, log_pmf, log_pdf.
  • Moved bayesflow.special_math to distributions.
  • tf.contrib.tensor_forest.python.tensor_forest.RandomForestDeviceAssigner removed.
  • Changed some MVN classes and parameters:
    • tf.contrib.distributions.MultivariateNormalFull replaced by tf.contrib.distributions.MultivariateNormalTriL.
    • tf.contrib.distributions.MultivariateNormalCholesky replaced by tf.contrib.distributions.MultivariateNormalTriL
    • tf.contrib.distributions.MultivariateNormalDiagWithSoftplusStDev replaced
      by tf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale
    • tf.contrib.distributions.MultivariateNormalDiag arguments changed from mu, diag_stddev to log, scale_diag.
    • tf.contrib.distributions.MultivariateNormalDiagPlusVDVT removed.
    • tf.contrib.distributions.MultivariateNormalDiagPlusLowRank added.

Bug Fixes and Other Changes

  • Java: Support for loading models exported using the SavedModel API (courtesy @EronWright).
  • Go: Added support for incremental graph execution.
  • Fix a bug in the WALS solver when single-threaded.
  • Added support for integer sparse feature values in tf.contrib.layers.sparse_column_with_keys.
  • Fixed tf.set_random_seed(0) to be deterministic for all ops.
  • Stability improvements for the GCS file system support.
  • Improved TensorForest performance.
  • Added support for multiple filename globs in tf.matching_files.
  • LogMessage now includes a timestamp as beginning of a message.
  • Added MultiBox person detector example standalone binary.
  • Android demo: Makefile build functionality added to build.gradle to fully support building TensorFlow demo in Android on Windows.
  • Android demo: read MultiBox priors from txt file rather than protobuf.
  • Added colocation constraints to StagingArea.
  • sparse_matmul_op reenabled for Android builds.
  • Restrict weights rank to be the same as the broadcast target, to avoid ambiguity on broadcast rules.
  • Upgraded libxsmm to 1.7.1 and applied other changes for performance and memory usage.
  • Fixed bfloat16 integration of LIBXSMM sparse mat-mul.
  • Improved performance and reduce memory usage by allowing ops to forward input buffers to output buffers and perform computations in-place.
  • Improved the performance of CPU assignment for strings.
  • Speed up matrix * vector multiplication and matrix * matrix with unknown shapes.
  • C API: Graph imports now support input remapping, control dependencies, and returning imported nodes (see TF_GraphImportGraphDefWithReturnOutputs())
  • Multiple C++ API updates.
  • Multiple TensorBoard updates including:
    • Users can now view image summaries at various sampled steps (instead of just the last step).
    • Bugs involving switching runs as well as the image dashboard are fixed.
    • Removed data download links from TensorBoard.
    • TensorBoard uses a relative data directory, for easier embedding.
    • TensorBoard automatically ignores outliers for domain calculation, and formats proportional values consistently.
  • Multiple tfdbg bug fixes:
    • Fixed Windows compatibility issues.
    • Command history now persists across runs.
    • Bug fix in graph validation related to tf.while_loops.
  • Java Maven fixes for bugs with Windows installation.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

A. Besir Kurtulmus, Adal Chiriliuc, @akash, Alec-Desouza, Alex Rothberg, Alex
Sergeev, Alexander Heinecke, Allen Guo, Andreas Madsen, Ankesh Anand, Anton
Loss, @aravind, @Arie, Ashutosh Das, AuréLien Geron, Bairen Yi, @bakunyo, Ben
Visser, Brady Zhou, Calpa Liu, Changming Sun, Chih Cheng Liang, Christopher
Berner, Clark Zinzow, @Conchylicultor, Dan Ellis, Dan J, Dan Jarvis, Daniel
Ylitalo, Darren Garvey, David Norman, David Truong, @DavidNorman, Dimitar
Pavlov, Dmitry Persiyanov, @eddie, @elirex, Erfan Noury, Eron Wright, Evgeny
Mazovetskiy, Fabrizio (Misto) Milo, @fanlu, Fisher Coder, Florian Courtial,
Franck Dernoncourt, Gagan Goel, Gao, Xiang, @Gautam, Gefu Tang, @guilherme,
@guschmue, Hannah Provenza, Hans Pabst, @hartb, Hsiao Yi, Huazuo Gao, Igor
ChorążEwicz, Ivan Smirnov, Jakub Kolodziejczyk, Jason Gavris, Jason Morton, Jay
Young, Jayaram Bobba, Jeremy Sawruk, Jiaming Liu, Jihun Choi, @jiqiu, Joan Thibault,
John C F, Jojy George Varghese, Jon Malmaud, Julian Berman, Julian Niedermeier,
Junpeng Lao, Kai Sasaki, @Kankroc, Karl Lessard, Kyle Bostelmann, @lezcano, Li
Yi, Luo Yun, @lurker, Mahmoud-Abuzaina, Mandeep Singh, Marek Kolodziej, Mark
Szepieniec, Martial Hue, Medhat Omr, Memo Akten, Michael Gharbi, MichaëL Defferrard,
Milan Straka, @MircoT, @mlucool, Muammar Ibn Faisal, Nayana Thorat, @nghiattran,
Nicholas Connor, Nikolaas Steenbergen, Niraj Patel, Niranjan Hasabnis, @panmari,
Pavel Bulanov, Philip Pries Henningsen, Philipp Jund, @polonez, Prayag Verma, Rahul
Kavi, Raphael Gontijo Lopes, @rasbt, Raven Iqqe, Reid Pryzant, Richard Shin, Rizwan
Asif, Russell Kaplan, Ryo Asakura, RüDiger Busche, Saisai Shao, Sam Abrahams, @sanosay,
Sean Papay, @SeaOtterMan, @selay01, Shaurya Sharma, Sriram Narayanamoorthy, Stefano
Probst, @taknevski, @tbonza, @teldridge11, Tim Anglade, Tomas Reimers, Tomer Gafner,
Valentin Iovene, Vamsi Sripathi, Viktor Malyi, Vit Stepanovs, Vivek Rane, Vlad Firoiu,
@wangg12, @will, Xiaoyu Tao, Yaroslav Bulatov, Yi Liu, Yuan (Terry) Tang, @yufeng,
Yuming Wang, Yuxin Wu, Zafar Takhirov, Ziming Dong

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.