TensorFlow 1.9.0
Release 1.9.0
Major Features And Improvements
- Updated docs for
tf.keras
: New Keras-based get started and programmers guide page. - Update
tf.keras
to the Keras 2.1.6 API. - Added
tf.keras.layers.CuDNNGRU
andtf.keras.layers.CuDNNLSTM
layers. Try it. - Adding support of core feature columns and losses to gradient boosted trees estimators.
- The python interface for the TFLite Optimizing Converter has been expanded, and the command line interface (AKA:
toco
,tflite_convert
) is once again included in the standardpip
installation. - Improved data-loading and text processing with:
- Added experimental support for new pre-made Estimators:
- The distributions.Bijector API supports broadcasting for Bijectors with new API changes.
Breaking Changes
- If you're opening empty variable scopes; replace
variable_scope('', ...)
byvariable_scope(tf.get_variable_scope(), ...)
. - Headers used for building custom ops have been moved from site-packages/external into site-packages/tensorflow/include/external.
Bug Fixes and Other Changes
-
tfe.Network
is deprecated. Please inherit fromtf.keras.Model
. -
Layered variable names have changed in the following conditions:
- Using
tf.keras.layers
with custom variable scopes. - Using
tf.layers
in a subclassedtf.keras.Model
class. See here for more details
- Using
-
tf.data
:Dataset.from_generator()
now accepts anargs
list, in order to create nested generators.Dataset.list_files()
now produces determinstic results whenshuffle=False
or aseed
is passed.tf.contrib.data.sample_from_datasets()
andtf.contrib.data.choose_from_datasets()
make it easier to sample or deterministically choose elements from multiple datasets.tf.contrib.data.make_csv_dataset()
now supports line breaks in quoted strings, and two infrequently used arguments removed.- (C++)
DatasetBase::DebugString()
is nowconst
. - (C++)
DatasetBase::MakeIterator()
has been renamed toDatasetBase::MakeIteratorInternal()
. - (C++)
IteratorBase::Initialize()
method was added to support raising errors during iterator construction.
-
Eager Execution:
- Added the ability to pause recording operations for gradient computation via
tf.GradientTape.stop_recording
. - Updated documentation, introductory notebooks.
- Added the ability to pause recording operations for gradient computation via
-
tf.keras
:- Move Keras code out of _impl folder and remove API files.
tf.keras.Model.save_weights
now saves in TensorFlow format by default.- Enable dataset iterators to be passed to
tf.keras.Model
training/eval methods.
-
TensorFlow Debugger (tfdbg)
- Fix an issue in which the TensorBoard Debugger Plugin could not handle total source file size exceeding gRPC message size limit (4 MB).
-
tf.contrib
:tf.contrib.framework.zero_initializer
supports ResourceVariable.- Adding "constrained_optimization" to tensorflow/contrib.
-
Other:
- Add GCS Configuration Ops.
- Changing signature of
MakeIterator
to enable propagating error status. - KL divergence for two Dirichlet distributions.
- More consistent GcsFileSystem behavior for certain reads past EOF.
- Update benchmark for tf.scan to match ranges across eager and graph modes.
- Fixed bug in
tf.reduce_prod gradient
for complex dtypes. - Allow the use of '.' in variables (e.g. "hparams.parse('a.b=1.0')"), which would previously raise an error. This will correspond to an attribute name with an embedded '.' symbol (e.g. 'a.b'), which can only be accessed indirectly (e.g. through getattr and setattr). To set this up the user will first need to explicitly add the variable to the hparam object (e.g. "hparams.add_hparam(name='a.b', value=0.0)").
- Benchmark for tf.scan in graph and eager modes.
- Added complex128 support to FFT, FFT2D, FFT3D, IFFT, IFFT2D, and IFFT3D.
- Making ids unique in
nn.embedding_lookup_sparse
. This helps to reduce RPC calls for looking up the embeddings when there are repeated ids in the batch. - Support indicator column in boosted trees.
- Prevent
tf.gradients()
from backpropagating through integer tensors. - LinearOperator[1D,2D,3D]Circulant added to
tensorflow.linalg
. - Conv3D, Conv3DBackpropInput, Conv3DBackpropFilter now supports arbitrary.
- Added
tf.train.Checkpoint
for reading/writing object-based checkpoints. - Added LinearOperatorKronecker, a dense-free implementation of the Kronecker Product.
- Allow LinearOperator to broadcast.
- SavedModelBuilder will now deduplicate asset names that point to files with the same basename and the same contents. Note that this may result in new asset files included in SavedModels in cases where assets with the same name but different contents were previously overwriting each other.
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Abdullah Alrasheed, Achal Shah, Ad-530, ADiegoCAlonso, Aditya Yogi, Ag Ramesh, akindyakov, Andy Kernahan, Anya Petrova, Aurelien Geron, Ben, Ben Barsdell, Bhavani-Subramanian, braincodercn, Brett Koonce, Brian Nemsick, Brian Zier, Bryan Heden, candy.dc, cclauss, Clayne Robison, ctiijima, Dalmo Cirne, David Norman, David T.H. Kao, DosLin, ekelsen, Elson Rodriguez, Erik Smistad, Felix Abecassis, Fergal Cotter, fo40225, foo0x29a, Freedom" Koan-Sin Tan, FréDéRic Branchaud-Charron, gdh1995, Geoffrey Irving, Giuseppe, gracehoney, Guido Zuidhof, Guillaume Klein, Guozhong Zhuang, Haggai, Harald Husum, imsheridan, Ivan Zhang, Jan Zikes, Jayaram Bobba, Jesse Benson, Jesse Gumz, Jiajia Li, Jie, jinghuangintel, Jingwen, jjsjann123, Joe Yearsley, Joel Hestness, Joel Shor, josephyearsley, Junpeng Lao, Karol M. Langner, Kb Sriram, krantideep95, Krish Ravindranath, Letian Feng, Loo Rong Jie, Lukas Geiger, Maciej, Mahmoud Abuzaina, ManHyuk, Mark Ryan, mbhuiyan, Michal Turek, Mostafa Alaa, Myungsung Kwak, Nand Dalal, Nehal J Wani, Neil Tenenholtz, ngc92, Nicholas Nadeau, P.Eng., Avs, Niranjan Hasabnis, P-Hidringer, Paul Van Eck, Peng Yu, Qing Zhao, Qingying Chen, Quanlong, Rajendra Arora, Rholais Lii, rmanyari, Robin Richtsfeld, Russell Klopfer, Sagi, Sam Sendelbach, Sandeep N Gupta, Sandip Giri, Sarah Edkins, Scott Tseng, Sdalbsoo, Sergii Khomenko, Seungwoo Choi (Biggie), Seyed Majid Azimi, Shaoning Zeng, shengfuintel, Siu Kei, Muk, Smit Shilu, soonson, Stefan Schweter, Sukhwan Kim, Sunitha Kambhampati, Taehoon Lee, tamimaddari82, Tang, Wenyi, Ted Chang, u2takey, Utkarsh Upadhyay, Vadim Markovtsev, voegtlel, Wai Hon Law, wangsiyu, Wenhao Hu, wenhao.hu, William D. Irons, Yan Facai (颜发才), Yanbo Liang, Yihong Wang, Yilei (Dolee) Yang, Yong Tang, Yuan (Terry) Tang