Release 1.8.0
Major Features And Improvements
- Can now pass
tf.contrib.distribute.MirroredStrategy()
totf.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 communication.
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.
- Add
- Eager Execution:
- With eager execution Datasets can now be used as standard python iterators (
for batch in dataset:
). BothDataset.__iter__()
andDataset.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.
- With eager execution Datasets can now be used as standard python iterators (
-
tf.keras
:- Added the fashion mnist dataset.
- New data preprocessing functions:
image/random_brightness
,sequence/TimeseriesGenerator
, andtext/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
, andtf.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
andtf.scatter_max
- Extend scatter operations to work with a scalar update parameter.
- Add
- Move cuDNN RNN ops to core for use in TensorFlow codebase only.
- Add
float64
support forConv2d
,Conv2dBackpropInput
, andConv2dBackpropFilter
. - Add
float64
support forAvgPool
/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.
- 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