@yifeif yifeif released this Apr 27, 2018 · 8 commits to r1.8 since this release

Assets 2

Release 1.8.0

Major Features And Improvements

  • Can now pass tf.contrib.distribute.MirroredStrategy() to tf.estimator.RunConfig() to run an Estimator model on multiple GPUs on one machine.
  • Add tf.contrib.data.prefetch_to_device(), which supports prefetching to GPU memory.
  • Added Gradient Boosted Trees as pre-made Estimators: BoostedTreesClassifier, BoostedTreesRegressor.
  • Add 3rd generation pipeline config for Cloud TPUs which improves performance and usability.
  • tf.contrib.bayesflow is moving out to it's own repo.
  • Added tf.contrib.{proto,rpc} to allow generic proto parsing and RPC communication1.

Bug Fixes and Other Changes

  • tf.data:
    • Add tf.contrib.data.prefetch_to_device, which enables prefetching dataset elements to GPU memory.
    • Add tf.contrib.data.AUTOTUNE, which allows the tf.data runtime to automatically tune the prefetch buffer sizes based on your system and environment.
    • Add tf.contrib.data.make_csv_dataset for building datasets of CSV files.
  • Eager Execution:
    • With eager execution Datasets can now be used as standard python iterators (for batch in dataset:). Both Dataset.__iter__() and Dataset.make_one_shot_iterator() can now be used to create iterators when eager execution is enabled.
    • Automatic device placement has been enabled (i.e., use a GPU if available automatically, without requiring an explicit with tf.device(“/gpu:0”)) (Fixes #14133)
    • tf.GradientTape has moved out of contrib.
  • tf.keras:
    • Added the fashion mnist dataset.
    • New data preprocessing functions: image/random_brightness, sequence/TimeseriesGenerator, and text/hashing_trick.
  • Accelerated Linear Algebra (XLA):
    • Select and scatter in reference util and evaluator now use lexicographical order to break ties.
  • TensorFlow Debugger (tfdbg) CLI:
    • During tensor-filter operations, allow exclusion of nodes by regular expressions.
    • Fix spurious background colors in some text terminals.
  • tf.contrib:
    • Add meta-distribution BatchReshape which reshapes batch dimensions.
    • tf.contrib.layers.recompute_grad works for explicit gradient checkpointing on TPU.
    • Add tf.contrib.framework.argsort.
    • Allow DNNBoostedTreeCombinedEstimator to work with core versions of feature columns and losses.
    • Add non-linear image warping ops: tf.contrib.image.sparse_image_warp, tf.contrib.image.dense_image_warp, and tf.contrib.image.interpolate_spline.
    • Fix bug in tf.contrib.opt.MultitaskOptimizerWrapper where types of tensors were mismatched.
  • Other:
    • Low-level graph construction now calls the TensorFlow C API. This change should be invisible to most users, but can be disabled by setting the environment variable TF_C_API_GRAPH_CONSTRUCTION=0 in this release. Future releases will remove the ability to disable this change. Please file a bug if you find yourself using this escape hatch.
    • Add description of shapes and a pointer to tutorial notebook in tf.distributions.Distribution.
    • Update scatter operations:
      • Add tf.scatter_min and tf.scatter_max
      • Extend scatter operations to work with a scalar update parameter.
    • Move cuDNN RNN ops to core for use in TensorFlow codebase only.
    • Add float64 support for Conv2d, Conv2dBackpropInput, and Conv2dBackpropFilter.
    • Add float64 support for AvgPool/AvgPoolGrad.
    • Make graph name scope thread local so that they work correctly in multi-threaded environments.
    • Update nsync synchronization library to avoid slow primitives on Linux.
    • Removed need to put nsync/public on C include path when building custom ops.
    • Add tf.image.psnr, tf.image.ssim, tf.image.ssim_multiscale, tf.image.image_gradients, tf.image.sobel_edges.
    • Add links to https://js.tensorflow.org.
    • Fix non-uniformity of orthogonal matrices.
    • Fix bug where multi-image Estimator eval summaries were not displayed correctly.

1 The cancellation logic of the RPC op contains a concurrency error. A fix has been submitted to master and will be part of the next release.

Thanks to our Contributors

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

4d55397500, Aghasy, Alan Du, Alan Lee, Alan Yee, Alex Wiltschko, Animesh Karnewar, Ankit Gupta, Anton Matosov, Aris L, Ben Barsdell, Brent Yi, Brett Koonce, Carl Thomé, cbockman, Chikanaga Tomoyuki, Chris Tava, CéDric Deltheil, Dahan Gong, Dalmo Cirne, Daniel Erenrich, David Norman, DavidNorman, Edd Wilder-James, Fanjin Zeng, Felix Abecassis, fo40225, George Sterpu, Giovanni Terlingen, Gor Baghdasaryan, Guillaume Klein, Hanchen Li, Ilya Polenov, Jakub Kolodziejczyk, Jason Sadler, Jayaram Bobba, Jerry Liu, jinghuangintel, Jiongyan Zhang (张炯衍), Joel Shor, Jong Wook Kim, Julian Eisenschlos, Karl Lessard, Krish Ravindranath, Loo Rong Jie, Lukas Geiger, Luke Iwanski, Mahmoud Abuzaina, ManHyuk, Marvin Richter, Maximilian Mitchell, Mohammad Ashraf Bhuiyan, msofka, Mustafa Kasap, Nathan Burnham, Nathan Luehr, Naveen Marri, ngc92, nio1814, Oleg Zabluda, Ou Changkun, Panos Ipeirotis, Paul Van Eck, Peter Lee, Piotr Czapla, qjivy, Rholais Lii, Rodrigo Formigone, Russell Klopfer, ryantimjohn, Sang Han, SebastiáN RamíRez, shengfuintel, Siby Jose Plathottam, Silver Chan, Stanislaw Antol, Taehoon Lee, Tarang Chugh, Ted Chang, Thomas Bastiani, Xian Xu, Xiaoming (Jason) Cui, Yan Facai (颜发才), yaox12, Yashal Shakti Kanungo, Yong Tang, Yuan (Terry) Tang, Yuxin Wu, Ziyue(Louis) Lu