TensorFlow: v1.10.0-rc0 Release

Release date:
July 21, 2018
Previous version:
v1.9.0 (released July 11, 2018)
Magnitude:
40,314 Diff Delta
Contributors:
79 total committers
Data confidence:
Commits:

91 Features Released with v1.10.0-rc0

Top Contributors in v1.10.0-rc0

tensorflower-gardener
xuechen-li-bdbd
hawkinsp
allenlavoie
jsimsa
pavithrasv
mrry
saeta
gargn
mdanatg

Directory Browser for v1.10.0-rc0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Release 1.10.0

Major Features And Improvements

  • The tf.lite runtime now supports complex64.
  • Initial Bigtable integration for tf.data.
  • Improved local run behavior in tf.estimator.train_and_evaluate which does not reload checkpoints for evaluation.
  • RunConfig now sets device_filters to restrict how workers and PS can communicate. This can speed up training and ensure clean shutdowns in some situations. But if you have jobs that require communication between workers, you will have to set custom session_options in your RunConfig.
  • Moved Distributions and Bijectors from tf.contrib.distributions to Tensorflow Probability (TFP). tf.contrib.distributions is now deprecated and will be removed by the end of 2018.
  • Adding new endpoints for existing tensorflow symbols. These endpoints are going to be the preferred endpoints going forward and may replace some of the existing endpoints in the future. See below for the complete list. New symbols have been added to the following modules: tf.debugging, tf.dtypes, tf.image, tf.io, tf.linalg, tf.manip, tf.math, tf.quantization, tf.strings

Breaking Changes

  • Prebuilt binaries are now (as of TensorFlow 1.10) built against NCCL 2.2 and no longer include NCCL in the binary install. TensorFlow usage with multiple GPUs and NCCL requires upgrade to NCCL 2.2. See updated install guides: Installing TensorFlow on Ubuntu and Install TensorFlow from Sources.
  • Starting from TensorFlow 1.11, Windows builds will use Bazel. Therefore, we will drop official support for cmake.

Bug Fixes and Other Changes

  • tf.data:
    • tf.contrib.data.group_by_reducer() is now available via the public API.
    • tf.contrib.data.choose_from_datasets() is now available via the public API.
    • Adding drop_remainder argument to tf.data.Dataset.batch() and tf.data.Dataset.padded_batch(), deprecating tf.contrib.data.batch_and_drop_remainder()andtf.contrib.data.padded_batch_and_drop_remainder()`.
  • tf.estimator:
    • Estimators now use custom savers included in EstimatorSpec scaffolds for saving SavedModels during export.
    • EstimatorSpec will now add a default prediction output for export if no export_output is provided, eliminating the need to explicitly include a PredictOutput object in the model_fn for simple use-cases.
    • Support sparse_combiner in canned Linear Estimators.
    • Added batch normalization to DNNClassifier, DNNRegressor, and DNNEstimator.
    • Adding ranking support for boosted trees.
    • Adding center bias option for boosted trees.
  • Add synchronization and aggregation args to get_variable(). These args will be used for distributed variables.
  • Add synchronization and aggregation args to the layer add_weight() API. These args will be used for distributed variables.
  • tf.losses.* do not add to the global collection when executing eagerly (to avoid leaking memory).
  • Support different summary and checkpoint directories in tf.train.MonitoredTrainingSession().
  • Added IndRNN, IndyGRU, and IndyLSTM cells to tf.contrib.rnn.
  • Add safe static factory functions for SparseTensor and convert all CHECKs to DCHECKs. Using the constructor directly is unsafe and deprecated.
  • Make the Bigtable client connection pool configurable & increase the default # of connections for performance.
  • Added derivative of tf.random_gamma with respect to the alpha parameter.
  • Added derivative of tf.igamma(a, x) and tf.igammac(a, x) with respect to a.
  • Modified Bessel functions of order zero and one.
  • Add FillTriangular Bijector to create triangular matrices.
  • Added support for Type III DCT, and tf.spectral.idct(type=2|3).
  • Correctly handle CuDNN RNN weight loaded when nest in TimeDistributed.
  • Adding per-element weight support for WALSComputePartialLhsAndRhsOp.
  • ZerosLike and OnesLike ops treated as constants by Graph Transform Tool.
  • Gamma distribution and the derived distributions (Beta, Dirichlet, Student's t, inverse Gamma) now fully reparameterized.
  • Java: Experimental wrapper classes to make graph generation easier. Thanks @karllessard and @kbsriram
  • Build & link in secure gRPC components (switch from the insecure grpc dependency to secure grpc dependency).
  • Adding new endpoints for existing tensorflow symbols. These endpoints are going to be the preferred endpoints going forward and may replace some of the existing endpoints in the future. List of new endpoints:
    • New endpoints in tf.image namespace: tf.image.extract_image_patches
    • New endpoints in tf.debugging namespace: tf.debugging.check_numerics, tf.debugging.is_finite, tf.debugging.is_inf, tf.debugging.is_nan.
    • New endpoints in tf.dtypes namespace: tf.dtypes.as_string.
    • New endpoints in tf.io namespace: tf.io.decode_base64, tf.io.decode_compressed, tf.io.decode_json_example, tf.io.decode_raw, tf.io.encode_base64, tf.io.matching_files, tf.io.parse_tensor, tf.io.read_file,tf.io.write_file`.
    • New endpoints in tf.linalg namespace: tf.linalg.cross, tf.linalg.tensor_diag (corresponds to tf.diag), tf.linalg.tensor_diag_part (corresponds to tf.diag_part).
    • New endpoints in tf.manip namespace: tf.manip.batch_to_space_nd, tf.manip.gather_nd, tf.manip.reshape, tf.manip.reverse, tf.manip.scatter_nd, tf.manip.space_to_batch_nd, tf.manip.tile
    • New endpoints in tf.math namespace: tf.math.acos, tf.math.acosh, tf.math.add, tf.math.asin, tf.math.asinh, tf.math.atan, tf.math.atan2, tf.math.atanh, tf.math.betainc, tf.math.ceil, tf.math.cos, tf.math.cosh, tf.math.digamma, tf.math.equal, tf.math.erfc, tf.math.exp, tf.math.expm1, tf.math.floor, tf.math.greater, tf.math.greater_equal, tf.math.igamma, tf.math.igammac, tf.math.invert_permutation, tf.math.less, tf.math.less_equal, tf.math.lgamma, tf.math.log, tf.math.log1p, tf.math.logical_and, tf.math.logical_not, tf.math.logical_or, tf.math.maximum, tf.math.minimum, tf.math.not_equal, tf.math.polygamma, tf.math.reciprocal, tf.math.rint, tf.math.rsqrt, tf.math.segment_max, tf.math.segment_mean, tf.math.segment_min, tf.math.segment_prod, tf.math.segment_sum, tf.math.sin, tf.math.sinh, tf.math.softplus, tf.math.softsign, tf.math.squared_difference, tf.math.tan, tf.math.unsorted_segment_max, tf.math.unsorted_segment_min, tf.math.unsorted_segment_prod, tf.math.unsorted_segment_sum, tf.math.zeta.
    • New endpoints in tf.quantization namespace: tf.quantization.dequantize, tf.quantization.fake_quant_with_min_max_args, tf.quantization.fake_quant_with_min_max_args_gradient, tf.quantization.fake_quant_with_min_max_vars, tf.quantization.fake_quant_with_min_max_vars_gradient, tf.quantization.fake_quant_with_min_max_vars_per_channel, tf.quantization.fake_quant_with_min_max_vars_per_channel_gradient.
    • New endpoints in tf.strings namespace: tf.strings.join (corresponds to tf.string_join), tf.strings.regex_replace, tf.strings.to_number (corresponds to tf.string_to_number), tf.strings.strip (corresponds to tf.string_strip), tf.strings.substr, tf.strings.to_hash_bucket (corresponds to tf.string_to_hash_bucket), tf.strings.to_hash_bucket_fast (corresponds to tf.string_to_hash_bucket_fast), tf.strings.to_hash_bucket_strong (corresponds to tf.string_to_hash_bucket_strong).

Thanks to our Contributors

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

Ag Ramesh, Alex Wiltschko, Alexander Pantyukhin, Amogh Mannekote, An Jiaoyang, Andrei Nigmatulin, Andrew Ginns, BjøRn Moholt, Brett Koonce, Chengzhi Chen, Chinmay Das, Christian Ertler, Christoph Boeddeker, Clayne Robison, Courtial Florian, ctiijima, Dan Douthit, Dan J, Dan Ringwalt, EFanZh, Emanuele Ballarin, eqy, Evgeniy Zheltonozhskiy, Freedom" Koan-Sin Tan, FréDéRic Branchaud-Charron, G K, gracehoney, Guillaume Klein, Guozhong Zhuang, Hsien-Yang Li, hsm207, ImSheridan, Jayaram Bobba, Jiandong Ruan, Jie, Joel Shor, Jonas Rauber, Jongmin Baek, jsawruk, Karan Kaw, Karl Lessard, [email protected], Kb Sriram, KinmanLam, leiiwang, Li, Yiqiang, Loo Rong Jie, Mahmoud Abuzaina, Mahmoud Aslan, ManHyuk, Martin Patz, Martin Zeitler, mktozk, Mohammad Ashraf Bhuiyan, mrTsjolder, Naman Bhalla, Nick Felt, Nicolas Lopez, Niranjan Hasabnis, Nishidha Panpaliya, Nitish, nrstott, Nutti, Parag Jain, PeterLee, Philipp Jund, Rach L, Rafal Wojdyla, Roland Zimmermann, Sergei Lebedev, SneakyFish5, Soila Kavulya, Sriram Veturi, Steven Schmatz, Taehoon Lee, Tang, Wenyi, Taras Sereda, Ted Chang, Tim Zaman, Tristan Rice, tucan, vchigrin, Vikram Tiwari, Vincent, WeberXie, William D. Irons, Yan Facai (颜发才), Yong Tang, Yu Yi, Yuxin Wu, Zé ViníCius