Releases: tensorflow/tensorflow
TensorFlow 1.3.0-rc1
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 totf.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 commandprint_tensor
orpt
. - Initial release of the statistical distribution library
tf.distributions
. - GPU kernels and speed improvements for for unary
tf.where
andtf.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 astf.RewriterConfig
. Instead add an explicit import.- Breaking change to
tf.contrib.data.Dataset
APIs that expect a nested structure. Lists are now converted totf.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
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 totf.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 commandprint_tensor
orpt
. - Initial release of the statistical distribution library
tf.distributions
. - GPU kernels and speed improvements for for unary
tf.where
andtf.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 astf.RewriterConfig
. Instead add an explicit import.- Breaking change to
tf.contrib.data.Dataset
APIs that expect a nested structure. Lists are now converted totf.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
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
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 subclasstf.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 totf.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 intf.nn.rnn_cell
(with aliases intf.contrib.rnn
for backwards
compatibility). The originaltf.nn.rnn
function is nowtf.nn.static_rnn
,
and the bidirectional static and state saving static rnn functions are also
now back in thetf.nn
namespace.Notable exceptions are the
EmbeddingWrapper
,InputProjectionWrapper
and
OutputProjectionWrapper
, which will slowly be moved to deprecation
intf.contrib.rnn
. These are inefficient wrappers that should often
be replaced by callingembedding_lookup
orlayers.dense
as pre- or post-
processing of the rnn. For RNN decoding, this functionality has been replaced
with an alternative API intf.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...
TensorFlow 1.2.0-rc2
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 subclasstf.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 totf.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 intf.nn.rnn_cell
(with aliases intf.contrib.rnn
for backwards
compatibility). The originaltf.nn.rnn
function is nowtf.nn.static_rnn
,
and the bidirectional static and state saving static rnn functions are also
now back in thetf.nn
namespace.Notable exceptions are the
EmbeddingWrapper
,InputProjectionWrapper
and
OutputProjectionWrapper
, which will slowly be moved to deprecation
intf.contrib.rnn
. These are inefficient wrappers that should often
be replaced by callingembedding_lookup
orlayers.dense
as pre- or post-
processing of the rnn. For RNN decoding, this functionality has been replaced
with an alternative API intf.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...
TensorFlow 1.2.0-rc1
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 subclasstf.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 totf.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 intf.nn.rnn_cell
(with aliases intf.contrib.rnn
for backwards
compatibility). The originaltf.nn.rnn
function is nowtf.nn.static_rnn
,
and the bidirectional static and state saving static rnn functions are also
now back in thetf.nn
namespace.Notable exceptions are the
EmbeddingWrapper
,InputProjectionWrapper
and
OutputProjectionWrapper
, which will slowly be moved to deprecation
intf.contrib.rnn
. These are inefficient wrappers that should often
be replaced by callingembedding_lookup
orlayers.dense
as pre- or post-
processing of the rnn. For RNN decoding, this functionality has been replaced
with an alternative API intf.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
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 subclasstf.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
Release 1.1.0
Major Features and Improvements
- Added Java API support for Windows.
- Added
tf.spectral
module. Moved existing FFT ops totf.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 fromtf.contrib.learn.Estimator
is moved totf.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 usesTensorHandles
as direct feeds during successivecont
calls for improved performance and reduced memory consumption.
- Ability to inspect Python source file against TF ops and tensors (command
- 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 bytf.contrib.distributions.MultivariateNormalTriL
.tf.contrib.distributions.MultivariateNormalCholesky
replaced bytf.contrib.distributions.MultivariateNormalTriL
tf.contrib.distributions.MultivariateNormalDiagWithSoftplusStDev
replaced
bytf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale
tf.contrib.distributions.MultivariateNormalDiag
arguments changed frommu
,diag_stddev
tolog
,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
Release 1.1.0
Major Features and Improvements
- Added Java API support for Windows.
- Added
tf.spectral
module. Moved existing FFT ops totf.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 fromtf.contrib.learn.Estimator
is moved totf.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 usesTensorHandles
as direct feeds during successivecont
calls for improved performance and reduced memory consumption.
- Ability to inspect Python source file against TF ops and tensors (command
- 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 bytf.contrib.distributions.MultivariateNormalTriL
.tf.contrib.distributions.MultivariateNormalCholesky
replaced bytf.contrib.distributions.MultivariateNormalTriL
tf.contrib.distributions.MultivariateNormalDiagWithSoftplusStDev
replaced
bytf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale
tf.contrib.distributions.MultivariateNormalDiag
arguments changed frommu
,diag_stddev
tolog
,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
Release 1.1.0
Major Features and Improvements
- Added Java API support for Windows.
- Added
tf.spectral
module. Moved existing FFT ops totf.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 fromtf.contrib.learn.Estimator
is moved totf.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 usesTensorHandles
as direct feeds during successivecont
calls for improved performance and reduced memory consumption.
- Ability to inspect Python source file against TF ops and tensors (command
- 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 bytf.contrib.distributions.MultivariateNormalTriL
.tf.contrib.distributions.MultivariateNormalCholesky
replaced bytf.contrib.distributions.MultivariateNormalTriL
tf.contrib.distributions.MultivariateNormalDiagWithSoftplusStDev
replaced
bytf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale
tf.contrib.distributions.MultivariateNormalDiag
arguments changed frommu
,diag_stddev
tolog
,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.