Guangda Lai [Thu, 22 Feb 2018 20:24:22 +0000 (12:24 -0800)]
Fix BaseGPUDevice, let it report the actual memory limit of the allocator. Also added a helper method to reset ProcessState.
PiperOrigin-RevId:
186655996
Benoit Steiner [Thu, 22 Feb 2018 20:18:39 +0000 (12:18 -0800)]
Measure the performance of the original placement to ensure that we preserve it
in case the placer isn't given enough time to find a better solution.
PiperOrigin-RevId:
186655094
Francois Chollet [Thu, 22 Feb 2018 20:16:09 +0000 (12:16 -0800)]
Add eager support for unit tests for most Keras layers.
A few minor layers were left out:
- noise layers (apparent issue with tf.random_normal)
- bidirectional wrapper
- conv recurrent layers (impending refactor)
PiperOrigin-RevId:
186654795
Allen Lavoie [Thu, 22 Feb 2018 20:01:57 +0000 (12:01 -0800)]
Checkpointable: Re-use the Saver's SaveableObject infrastructure to create
restore ops, cache them.
The basic infrastructure is usable after this CL in graph and eager, but I still need to make a bunch of objects Checkpointable and make some other usability fixes.
Also sets some of the groundwork for feeding and fetching Python values during save/restore (as in, save has a feed dict now; gathering feeds and placeholders from Checkpointable objects is still to do but should be relatively straightforward).
PiperOrigin-RevId:
186652696
Gunhan Gulsoy [Thu, 22 Feb 2018 19:46:05 +0000 (11:46 -0800)]
Update bazel toolchains dependency.
PiperOrigin-RevId:
186650360
A. Unique TensorFlower [Thu, 22 Feb 2018 19:45:57 +0000 (11:45 -0800)]
Add basic support for quantized unfused LSTMs.
PiperOrigin-RevId:
186650338
Peter Hawkins [Thu, 22 Feb 2018 19:34:16 +0000 (11:34 -0800)]
[TF:XLA] Improve readability of HLO graphs when rendered via Tensorboard.
Add operator metadata around the computation arguments and retvals, so they are grouped together.
Teach the batchnorm expander pass to propagate the operator metadata from the original batch norm operators.
PiperOrigin-RevId:
186648547
Guangda Lai [Thu, 22 Feb 2018 19:25:24 +0000 (11:25 -0800)]
Add a test only method to reset ProcessState.
PiperOrigin-RevId:
186647005
A. Unique TensorFlower [Thu, 22 Feb 2018 18:59:57 +0000 (10:59 -0800)]
Change the MomentumOptimzer lambda so it has the same named argument (learning_rate)
as the MomentumOptimzer constructor.
PiperOrigin-RevId:
186642325
Benoit Steiner [Thu, 22 Feb 2018 18:44:19 +0000 (10:44 -0800)]
Added a regression test to make sure we deal with large constants properly
PiperOrigin-RevId:
186639709
A. Unique TensorFlower [Thu, 22 Feb 2018 18:32:59 +0000 (10:32 -0800)]
Change warning message for case where Python detects a colocation that conflicts with a device assignment.
PiperOrigin-RevId:
186637887
A. Unique TensorFlower [Thu, 22 Feb 2018 17:03:00 +0000 (09:03 -0800)]
Update LLVM for API changes in r325725
PiperOrigin-RevId:
186624266
A. Unique TensorFlower [Thu, 22 Feb 2018 16:52:42 +0000 (08:52 -0800)]
Add node name to placer device-placement/kernel-assignment error messages .
PiperOrigin-RevId:
186622923
Jacques Pienaar [Thu, 22 Feb 2018 15:53:38 +0000 (07:53 -0800)]
Add S64 add/subtract test and convert tests.
* Fixed bugs in convert from U32 to S64.
END_PUBLIC
*** Original change description ***
BEGIN_PUBLIC
Automated g4 rollback of changelist
186494344
PiperOrigin-RevId:
186616875
Derek Murray [Thu, 22 Feb 2018 15:25:41 +0000 (07:25 -0800)]
[tf.data] Add experimental ability to override the function threadpool.
The purpose of this feature is to enable experimentation with differentiating
the CPU resources available to different stages of a `tf.data` pipeline. As a
concrete example, we might use the new feature to move all input-related work
from the inter-op threadpool onto a separate threadpool, leaving the inter-op
threadpool free to execute higher priority work (such as dispatching ops that
send tensors to an accelerator). The current implementation only allows users
to create fixed-size `tensorflow::ThreadPool` resources, but we could imagine
opening up this API to allow custom threadpools as well.
PiperOrigin-RevId:
186614315
A. Unique TensorFlower [Thu, 22 Feb 2018 14:48:27 +0000 (06:48 -0800)]
Optionally have persistent make_vjp
PiperOrigin-RevId:
186610572
A. Unique TensorFlower [Thu, 22 Feb 2018 13:30:42 +0000 (05:30 -0800)]
Adapt TensorFlow to LLVM API change from r325725
PiperOrigin-RevId:
186604023
Ilya Biryukov [Thu, 22 Feb 2018 11:11:14 +0000 (03:11 -0800)]
Fix compile errors by patching eigen locally.
PiperOrigin-RevId:
186592198
Gunhan Gulsoy [Thu, 22 Feb 2018 07:33:44 +0000 (23:33 -0800)]
Disable flaky keras:metrics_test.
PiperOrigin-RevId:
186573303
Benoit Steiner [Thu, 22 Feb 2018 06:02:54 +0000 (22:02 -0800)]
Avoid creating large constants since protocol buffers are limited to 2GB in size.
PiperOrigin-RevId:
186567461
Gunhan Gulsoy [Thu, 22 Feb 2018 05:06:54 +0000 (21:06 -0800)]
Disable flaky moving_average test.
PiperOrigin-RevId:
186563841
Benoit Steiner [Thu, 22 Feb 2018 05:05:42 +0000 (21:05 -0800)]
Started to open source the RL placer.
PiperOrigin-RevId:
186563773
Tatiana Shpeisman [Thu, 22 Feb 2018 03:56:00 +0000 (19:56 -0800)]
Deleting test that checks that 2D convolution with NCHW format is not implemented on CPU. The tests fail with MKL because the operation is implemented.
PiperOrigin-RevId:
186558730
Yangzihao Wang [Thu, 22 Feb 2018 01:42:46 +0000 (17:42 -0800)]
Do not set cudnn batch norm persistent mode when doing inference.
PiperOrigin-RevId:
186547439
Sanjoy Das [Thu, 22 Feb 2018 01:36:14 +0000 (17:36 -0800)]
Delete dot_operation_runtime_test -- it is identical to dot_operation_test.
PiperOrigin-RevId:
186546771
Skye Wanderman-Milne [Thu, 22 Feb 2018 01:20:32 +0000 (17:20 -0800)]
Fix control flow bug.
Without this change, the newly added test would fail with a "Reval[0]"
error. This was due to extra Enter nodes being added in the gradients
graph in order to enter the outer while contexts for a value that was
already in those contexts. The extra Enter nodes would cause the
frames of the execution to be messed up, which prevented the final
value from being propagated to the outermost Exit node.
A similar change is probably needed in WhileContext, although I don't
have a test case for this yet.
PiperOrigin-RevId:
186544961
Alexandre Passos [Thu, 22 Feb 2018 01:19:40 +0000 (17:19 -0800)]
Fix subtle race condition in ResourceVariable.is_initialized
PiperOrigin-RevId:
186544846
Michael Kuperstein [Thu, 22 Feb 2018 00:58:47 +0000 (16:58 -0800)]
Add more strided R1 tests.
PiperOrigin-RevId:
186542219
A. Unique TensorFlower [Thu, 22 Feb 2018 00:57:01 +0000 (16:57 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId:
186542037
Blake Hechtman [Thu, 22 Feb 2018 00:39:43 +0000 (16:39 -0800)]
[XLA] Convert large constants of the same value into broadcasts.
PiperOrigin-RevId:
186539902
A. Unique TensorFlower [Thu, 22 Feb 2018 00:24:20 +0000 (16:24 -0800)]
Update ops-related pbtxt files.
PiperOrigin-RevId:
186537602
Derek Murray [Thu, 22 Feb 2018 00:20:27 +0000 (16:20 -0800)]
Fix lint errors and improve docs in fully_connected_reader.py.
PiperOrigin-RevId:
186537109
A. Unique TensorFlower [Thu, 22 Feb 2018 00:03:32 +0000 (16:03 -0800)]
Internal change.
PiperOrigin-RevId:
186534524
A. Unique TensorFlower [Wed, 21 Feb 2018 23:54:54 +0000 (15:54 -0800)]
Move sorting of variables from the implicit_grad family of functions
up to GradientTape.watched_variables() so we also get deterministic
behavior when using the GradientTape as is done in
Optimizer.compute_gradients().
PiperOrigin-RevId:
186533323
Jacques Pienaar [Wed, 21 Feb 2018 23:37:05 +0000 (15:37 -0800)]
Automated g4 rollback of changelist
186494344
PiperOrigin-RevId:
186530782
Derek Murray [Wed, 21 Feb 2018 23:36:55 +0000 (15:36 -0800)]
[tf.data] Move the `tf.contrib.data.unique()` C++ implementation to contrib.
PiperOrigin-RevId:
186530750
Brennan Saeta [Wed, 21 Feb 2018 23:19:47 +0000 (15:19 -0800)]
Internal-only change.
PiperOrigin-RevId:
186528023
Yifei Feng [Wed, 21 Feb 2018 23:13:03 +0000 (15:13 -0800)]
Disable flaky test tensorflow/contrib/opt:moving_average_optimizer_test
PiperOrigin-RevId:
186527039
Francois Chollet [Wed, 21 Feb 2018 23:12:16 +0000 (15:12 -0800)]
Add the ability to specify an explicit `training` argument when calling a Model (including Sequential).
PiperOrigin-RevId:
186526925
Yifei Feng [Wed, 21 Feb 2018 23:07:05 +0000 (15:07 -0800)]
Don't assign device for the keras part of _saved_first_checkpoint. Fix #14504.
PiperOrigin-RevId:
186526175
Skye Wanderman-Milne [Wed, 21 Feb 2018 22:56:13 +0000 (14:56 -0800)]
Don't require shape functions when creating ops from Python using the C API.
There are many ops out there without shape functions, and it's very
onerous to add UnknownShape to all of them.
PiperOrigin-RevId:
186524294
Derek Murray [Wed, 21 Feb 2018 22:46:29 +0000 (14:46 -0800)]
Mark the `SerializeSparseOp<Variant>` kernel as inexpensive.
Since this op only performs a constant amount of work, and typically
executes in a few microseconds, it should be profitable to execute
this op inline, rather than scheduling it on a remote thread.
PiperOrigin-RevId:
186522885
Akshay Modi [Wed, 21 Feb 2018 22:42:11 +0000 (14:42 -0800)]
Record gradient in C
PiperOrigin-RevId:
186522240
Jianwei Xie [Wed, 21 Feb 2018 22:40:18 +0000 (14:40 -0800)]
Improve error message.
PiperOrigin-RevId:
186521902
Benoit Steiner [Wed, 21 Feb 2018 22:29:27 +0000 (14:29 -0800)]
Ensured that the model pruner outputs the nodes of the optimized graph in a
deterministic order
PiperOrigin-RevId:
186520272
A. Unique TensorFlower [Wed, 21 Feb 2018 22:14:42 +0000 (14:14 -0800)]
Make CPUAllocator VisitableAllocator, for better RDMA networking.
PiperOrigin-RevId:
186518037
Skye Wanderman-Milne [Wed, 21 Feb 2018 22:07:48 +0000 (14:07 -0800)]
Make with_c_api a no-op if the C API is already enabled.
This will help transition to turning the C API on by default by
preventing new tests from breaking.
PiperOrigin-RevId:
186516976
Sanjoy Das [Wed, 21 Feb 2018 21:33:07 +0000 (13:33 -0800)]
[XLA:CPU] Don't hard-code lane width in horizontal sum routine
The bulk of change is actually in dot_operation_test to get it to the point
where it would have caught this bug. I made the following changes:
- Moved some tests under a "no layout assignment pass runs" mode. This lets
us test the layout specific aspects of the dot operation more thoroughly.
Unfortunately not many tests can be run in this mode -- for instance dot
tests that calls into Eigen won't work here because they need a specific
layout assignment for correctness. Tests that runs with layout assignment
enabled but with non-default layouts are essentially integration tests that
check that the layout assignment pass + the dot lowering work correctly.
- Changed the matrix-vector dot tests to check all 4 layouts and the
matrix-vector Ax+b fusion tests to check all 8 layouts.
- Duplicated some of the F32 tests to run for F64.
- Added some new test shapes.
PiperOrigin-RevId:
186511289
Jeremy Lau [Wed, 21 Feb 2018 21:28:23 +0000 (13:28 -0800)]
Internal change.
PiperOrigin-RevId:
186510594
A. Unique TensorFlower [Wed, 21 Feb 2018 21:25:47 +0000 (13:25 -0800)]
Activity analysis annotation on FunctionDef
PiperOrigin-RevId:
186510035
A. Unique TensorFlower [Wed, 21 Feb 2018 21:24:35 +0000 (13:24 -0800)]
In VirtualScheduler, if there is a Recv without a Send, handle the Recv as an
initially ready node.
PiperOrigin-RevId:
186509851
A. Unique TensorFlower [Wed, 21 Feb 2018 21:20:58 +0000 (13:20 -0800)]
K-FAC: LM algorithm for adapting damping, Example to train MNIST autoencoder model using variable size training data and update damping parameter, add KFACOptimizer.{update_damping}.
PiperOrigin-RevId:
186509305
A. Unique TensorFlower [Wed, 21 Feb 2018 21:16:52 +0000 (13:16 -0800)]
Made tf.HParams compatible with https://github.com/google/pytype.
PiperOrigin-RevId:
186508693
Skye Wanderman-Milne [Wed, 21 Feb 2018 21:14:27 +0000 (13:14 -0800)]
Add test that checks all core ops have shape functions.
This is meant to be a replacement for the current Python code that
checks that core ops have shape functions registered. Some ops were
missing a shape function, so I added UnknownShape.
This also adds an OpRegistry::GetOpRegistrationData() method for
fetching all the shape functions.
PiperOrigin-RevId:
186508356
A. Unique TensorFlower [Wed, 21 Feb 2018 20:57:26 +0000 (12:57 -0800)]
Change node to Identity operation for shuffle/reverse operations on scalar values, but not
directly removing those nodes from the graph.
PiperOrigin-RevId:
186505857
Suharsh Sivakumar [Wed, 21 Feb 2018 20:57:05 +0000 (12:57 -0800)]
Ensure that final layer of networks (which doesn't have an activation) get correctly quantized.
PiperOrigin-RevId:
186505814
A. Unique TensorFlower [Wed, 21 Feb 2018 20:42:51 +0000 (12:42 -0800)]
Fix a bug in tf.metrics.mean_tensor for case that the weights are very small.
We have renamed metrics_test.MeanTensorTest.testWeighted1d as metrics_test.MeanTensorTest.testBinaryWeighted1d, since the weights on the instances are zeros and ones.
We have added a new metrics_test.MeanTensorTest.testWeighted1d that has small weights. It was failing for the previous implementation, but passes now.
Now the code for mean_tensor() and mean() now use the same _safe_div method. Previously, mean_tensor() used a different means to ensure that we don't divide by zero. This set the denominator to max(1., sum(weights)), which was inaccurate when sum(weights) is non-zero, but less than one.
PiperOrigin-RevId:
186503714
A. Unique TensorFlower [Wed, 21 Feb 2018 20:36:25 +0000 (12:36 -0800)]
Allow non-integer values for Poisson CDF/PMF.
PiperOrigin-RevId:
186502845
Francois Chollet [Wed, 21 Feb 2018 20:33:41 +0000 (12:33 -0800)]
Merge tf.layers.GraphNetwork into tf.keras.Network and remove it.
PiperOrigin-RevId:
186502476
Asim Shankar [Wed, 21 Feb 2018 20:32:52 +0000 (12:32 -0800)]
eager/mnist: Point to the example in tensorflow/models instead.
PiperOrigin-RevId:
186502375
Asim Shankar [Wed, 21 Feb 2018 20:31:27 +0000 (12:31 -0800)]
framework/ops.py: Stricter check for use of the C API for graph construction.
Fixes #16913
Didn't add an explicit test for this since arguably use of the C API for graph
construction will soon become the default, so I figured testing that
tfe.defun's use of _use_c_api_hack() would only add code that should be deleted
soon.
PiperOrigin-RevId:
186502140
A. Unique TensorFlower [Wed, 21 Feb 2018 20:13:48 +0000 (12:13 -0800)]
Automatically add a tf.name_scope of the function or class name as the first line of each function. For functions inside a class, the class name is also prepended to the name scope. Also adds a decorator param to turn this off (it defaults to True.)
PiperOrigin-RevId:
186499660
A. Unique TensorFlower [Wed, 21 Feb 2018 20:00:04 +0000 (12:00 -0800)]
Adds inverse_link_fn argument in regression_head. This is used in generalized regression.
PiperOrigin-RevId:
186497656
A. Unique TensorFlower [Wed, 21 Feb 2018 19:59:32 +0000 (11:59 -0800)]
Add bidirectional sequence LSTM to TFLite Ops.
PiperOrigin-RevId:
186497571
A. Unique TensorFlower [Wed, 21 Feb 2018 19:50:59 +0000 (11:50 -0800)]
Adding support for dilated convolution.
PiperOrigin-RevId:
186496353
Benoit Steiner [Wed, 21 Feb 2018 19:40:05 +0000 (11:40 -0800)]
Temporarily disabled part of a test that fails on MacOS
PiperOrigin-RevId:
186494795
Alexandre Passos [Wed, 21 Feb 2018 19:39:43 +0000 (11:39 -0800)]
Fast-path for losses code.
PiperOrigin-RevId:
186494736
Jacques Pienaar [Wed, 21 Feb 2018 19:37:13 +0000 (11:37 -0800)]
Add S64 add/subtract test.
PiperOrigin-RevId:
186494344
Mark Daoust [Wed, 21 Feb 2018 19:06:22 +0000 (11:06 -0800)]
Add link to SECURITY.md from doc describing model loading.
PiperOrigin-RevId:
186489041
Jeremy Lau [Wed, 21 Feb 2018 18:57:51 +0000 (10:57 -0800)]
Internal change.
PiperOrigin-RevId:
186487354
Justin Lebar [Wed, 21 Feb 2018 18:29:47 +0000 (10:29 -0800)]
[XLA] Add FindInstruction and FindComputation helpers to HloTestBase.
These are useful for tests that create HLOs and then search for a
particular computation/instruction.
While we're at it, add a c_find_if utility and fix up the (lack of)
perfect forwarding in some of our other c_foo utilities.
PiperOrigin-RevId:
186482111
Jeffrey A. Dean [Wed, 21 Feb 2018 17:47:58 +0000 (09:47 -0800)]
Create fast path for common case of finite values in CheckNumericsOp
PiperOrigin-RevId:
186474851
A. Unique TensorFlower [Wed, 21 Feb 2018 17:35:44 +0000 (09:35 -0800)]
Internal Change
PiperOrigin-RevId:
186472818
A. Unique TensorFlower [Wed, 21 Feb 2018 17:33:41 +0000 (09:33 -0800)]
Internal updates.
PiperOrigin-RevId:
186472487
Benoit Steiner [Wed, 21 Feb 2018 17:09:24 +0000 (09:09 -0800)]
In the arithmetic optimizer enqueue the fanout of optimized nodes in a
deterministic order
PiperOrigin-RevId:
186468633
Benoit Steiner [Wed, 21 Feb 2018 17:08:05 +0000 (09:08 -0800)]
memory_size should be expressed in Bytes, but port::AvailableRam() returns kB.
PiperOrigin-RevId:
186468461
Mark Daoust [Wed, 21 Feb 2018 17:04:00 +0000 (09:04 -0800)]
fix not_covered anchor
PiperOrigin-RevId:
186467828
A. Unique TensorFlower [Wed, 21 Feb 2018 16:41:26 +0000 (08:41 -0800)]
Modify optimized quantized LSTM implementation so that it only needs one instantiation of fixed-point Tanh, for 3 integer bits, regardless of the value of StateIntegerBits
PiperOrigin-RevId:
186464604
A. Unique TensorFlower [Wed, 21 Feb 2018 16:13:01 +0000 (08:13 -0800)]
Adding some beginner advice to the README.
PiperOrigin-RevId:
186461145
A. Unique TensorFlower [Wed, 21 Feb 2018 14:14:29 +0000 (06:14 -0800)]
Minor corrections in feature_columns doc
PiperOrigin-RevId:
186449350
Sanjoy Das [Wed, 21 Feb 2018 07:12:57 +0000 (23:12 -0800)]
[XLA:CPU] Add FP32<->FP16 conversion routines
LLVM generates calls to these functions when lowering some fp16 operations on
certain architectures. These symbols are defined in compiler-rt but we don't
always link to compiler-rt so these symbols are sometimes absent.
This change adds __gnu_f2h_ieee and __gnu_h2f_ieee as weak symbols. Making them
weak ensures that we are able to build successfully even when linking to a
compiler-rt that defines these symbols.
PiperOrigin-RevId:
186416684
Suharsh Sivakumar [Wed, 21 Feb 2018 05:41:02 +0000 (21:41 -0800)]
Add a small test to ensure that rewrites are idempotent.
PiperOrigin-RevId:
186410356
A. Unique TensorFlower [Wed, 21 Feb 2018 04:46:26 +0000 (20:46 -0800)]
Clarify the shape of convolution arguments.
Replace n-d with size n, as n-d often means rank n, while the arguments here are arrays of size n.
PiperOrigin-RevId:
186406143
Yu-Cheng Ling [Wed, 21 Feb 2018 04:34:05 +0000 (20:34 -0800)]
TFLite: Define a DELEGATE op type.
PiperOrigin-RevId:
186405366
Yu-Cheng Ling [Wed, 21 Feb 2018 03:55:06 +0000 (19:55 -0800)]
TFLite Conv2D: Create temporary tensors in Prepare phase.
PiperOrigin-RevId:
186402268
Jacques Pienaar [Wed, 21 Feb 2018 02:56:07 +0000 (18:56 -0800)]
[TF2XLA] Account for input edge of predicate.
PiperOrigin-RevId:
186397549
Benoit Steiner [Wed, 21 Feb 2018 02:17:46 +0000 (18:17 -0800)]
Make sure the nodes that are refered to by a collection are preserved during an
optimization
PiperOrigin-RevId:
186394467
Dustin Tran [Wed, 21 Feb 2018 02:06:02 +0000 (18:06 -0800)]
Automated g4 rollback of changelist
186260342
PiperOrigin-RevId:
186393300
A. Unique TensorFlower [Wed, 21 Feb 2018 01:40:17 +0000 (17:40 -0800)]
Update decorators transformer with additional clarifications in the tests and handling of the more rare cases when multiple decorators are applied together, as well as when decorators are used with local functions.
PiperOrigin-RevId:
186390564
A. Unique TensorFlower [Wed, 21 Feb 2018 01:40:06 +0000 (17:40 -0800)]
Add a utility that generalizes getcallargs to non-function callables like constructors and __call__ operators.
PiperOrigin-RevId:
186390545
Yu-Cheng Ling [Wed, 21 Feb 2018 01:33:16 +0000 (17:33 -0800)]
Fill the new `custom_initial_data(_size)?` fields in TfLiteNode.
PiperOrigin-RevId:
186389819
Sanjoy Das [Wed, 21 Feb 2018 00:13:11 +0000 (16:13 -0800)]
[XLA] Emit saturating shifts on CPU, GPU and interpreter
With this change shifting out >= bitwidth for shift left and logical shift right
produces 0, and shifting out >= bitwidth for arithmetic shift right produces -1
if the LHS is negative and 0 otherwise. Before this we were invoking undefined
behavior for these out-of-bounds shifts in LLVM and the HLO evaluator.
PiperOrigin-RevId:
186379160
A. Unique TensorFlower [Tue, 20 Feb 2018 23:08:09 +0000 (15:08 -0800)]
Shorten grappler per-node report by default with previous behavior behind --verbose.
PiperOrigin-RevId:
186369380
A. Unique TensorFlower [Tue, 20 Feb 2018 22:46:43 +0000 (14:46 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId:
186365924
Yu-Cheng Ling [Tue, 20 Feb 2018 22:31:00 +0000 (14:31 -0800)]
Fix a typo in the comment (TFLite)
PiperOrigin-RevId:
186363449
Suharsh Sivakumar [Tue, 20 Feb 2018 22:27:04 +0000 (14:27 -0800)]
Update contrib/quantize docs to add description of how to use rewrites.
PiperOrigin-RevId:
186362791
A. Unique TensorFlower [Tue, 20 Feb 2018 22:18:23 +0000 (14:18 -0800)]
Update ops-related pbtxt files.
PiperOrigin-RevId:
186361455
Derek Murray [Tue, 20 Feb 2018 22:11:35 +0000 (14:11 -0800)]
[tf.data] Fix memory leak when not all elements of a `Dataset.from_generator()` are consumed.
This change introduces a new C++ Dataset implementation
(`GeneratorDataset`) that takes three functions:
1. An initialization function that is called before the first use.
2. A "get next" function that is called to produce the elements, until a call
raises the OutOfRange error.
3. A finalization function that is called before the iterator is destroyed.
Previously, the generator state would only be cleaned up if the caller
consumed *every* element of the generator. In the new version, the
finalization function ensures that the Python-side state of the
generator is released regardless of how the iterator is disposed.
Fixes #16163.
PiperOrigin-RevId:
186360401
A. Unique TensorFlower [Tue, 20 Feb 2018 22:09:55 +0000 (14:09 -0800)]
Fix a memory corruption issue in boosted trees as the iterators become invalid after an Add.
PiperOrigin-RevId:
186360144
Suharsh Sivakumar [Tue, 20 Feb 2018 21:58:28 +0000 (13:58 -0800)]
Add documentation to contrib/quantization to reduce confusion with contrib/quantize.
PiperOrigin-RevId:
186358131