platform/upstream/tensorflow.git
6 years agoAdd custom registered graph optimizers run by MetaOptimizer.
Patrick Nguyen [Sat, 24 Feb 2018 00:04:38 +0000 (16:04 -0800)]
Add custom registered graph optimizers run by MetaOptimizer.

PiperOrigin-RevId: 186837828

6 years agoCheckpointable: Utility to gather initialization ops
Allen Lavoie [Fri, 23 Feb 2018 23:51:23 +0000 (15:51 -0800)]
Checkpointable: Utility to gather initialization ops

A bit safer, since only variables which will be saved get initialized. Graph
building then raises an error when you've used one which won't be saved. Reduces
the need for the global collection.

Makes it a bit easier to deal with initialization when writing graph/eager
agnostic programs.

PiperOrigin-RevId: 186835744

6 years agoeager: Change various examples to use tf.keras.Model instead of tfe.Network.
Asim Shankar [Fri, 23 Feb 2018 23:45:02 +0000 (15:45 -0800)]
eager: Change various examples to use tf.keras.Model instead of tfe.Network.

PiperOrigin-RevId: 186834891

6 years agoAdd test for bug in CUB that caused dynamic partition to fail on the GPU.
A. Unique TensorFlower [Fri, 23 Feb 2018 23:43:09 +0000 (15:43 -0800)]
Add test for bug in CUB that caused dynamic partition to fail on the GPU.

PiperOrigin-RevId: 186834668

6 years agoImprovement to the eager device placement heuristic.
Alexandre Passos [Fri, 23 Feb 2018 23:35:35 +0000 (15:35 -0800)]
Improvement to the eager device placement heuristic.

PiperOrigin-RevId: 186833677

6 years agoAdds unit tests for mean op with uint8_t input data.
A. Unique TensorFlower [Fri, 23 Feb 2018 23:33:22 +0000 (15:33 -0800)]
Adds unit tests for mean op with uint8_t input data.

PiperOrigin-RevId: 186833364

6 years agoEager/C: Add a TF_Status argument to a couple of functions.
A. Unique TensorFlower [Fri, 23 Feb 2018 23:06:46 +0000 (15:06 -0800)]
Eager/C: Add a TF_Status argument to a couple of functions.

PiperOrigin-RevId: 186829318

6 years agoMake tf.size() with optimize=True encode 0 if any dimension is 0.
Skye Wanderman-Milne [Fri, 23 Feb 2018 22:38:37 +0000 (14:38 -0800)]
Make tf.size() with optimize=True encode 0 if any dimension is 0.

PiperOrigin-RevId: 186824964

6 years agoMake it easier to debug @assert_no_garbage_created unit test failures
Allen Lavoie [Fri, 23 Feb 2018 22:29:41 +0000 (14:29 -0800)]
Make it easier to debug @assert_no_garbage_created unit test failures

Prints a bunch of information about each object.

PiperOrigin-RevId: 186823593

6 years ago* CUB updated to 1.8.0
A. Unique TensorFlower [Fri, 23 Feb 2018 22:22:53 +0000 (14:22 -0800)]
* CUB updated to 1.8.0
* updated ShuffleIndex because of API change

PiperOrigin-RevId: 186822637

6 years agoPreserve user placement as much as possible when optimizing the graph
Benoit Steiner [Fri, 23 Feb 2018 22:22:06 +0000 (14:22 -0800)]
Preserve user placement as much as possible when optimizing the graph

PiperOrigin-RevId: 186822511

6 years agoAutomated g4 rollback of changelist 185688704
Noah Eisen [Fri, 23 Feb 2018 22:08:57 +0000 (14:08 -0800)]
Automated g4 rollback of changelist 185688704

PiperOrigin-RevId: 186820593

6 years agoRespects some form of log_device_placement in eager.
Alexandre Passos [Fri, 23 Feb 2018 22:06:49 +0000 (14:06 -0800)]
Respects some form of log_device_placement in eager.

PiperOrigin-RevId: 186820292

6 years ago[XLA] Fix BF16 propagation pass to produce matching fusion root and output.
Yuanzhong Xu [Fri, 23 Feb 2018 21:13:25 +0000 (13:13 -0800)]
[XLA] Fix BF16 propagation pass to produce matching fusion root and output.

Previously, the propagation pass might produce different procision in the fused
computation's root than the fusion itself, when the fused root doesn't define a buffer.

Add explicit converts at such fusion roots.

PiperOrigin-RevId: 186812368

6 years agoAdd usage example to KMeans Estimator documentation.
A. Unique TensorFlower [Fri, 23 Feb 2018 20:24:53 +0000 (12:24 -0800)]
Add usage example to KMeans Estimator documentation.

PiperOrigin-RevId: 186805772

6 years ago[TF:XLA] Fix a bug where executor's device_ordinal should be passed to AllocateShaped...
Kay Zhu [Fri, 23 Feb 2018 20:24:19 +0000 (12:24 -0800)]
[TF:XLA] Fix a bug where executor's device_ordinal should be passed to AllocateShapedBuffer. Also enable C64 type for interpreter device.

PiperOrigin-RevId: 186805709

6 years agoCleanup for graph functions.
Akshay Agrawal [Fri, 23 Feb 2018 20:18:31 +0000 (12:18 -0800)]
Cleanup for graph functions.

(1) Define constants for the names of Arg and Retval ops, and use them in various places.
(2) Change the signature and documentation for `BuildControlFlow` to reflect the fact that the supplied Graph is not mutated.
(3) Expose the FunctionLibraryRuntime's DeviceMgr, in preparation for multi-device functions.

PiperOrigin-RevId: 186804968

6 years ago[XLA] Internal change.
Kay Zhu [Fri, 23 Feb 2018 19:58:10 +0000 (11:58 -0800)]
[XLA] Internal change.

PiperOrigin-RevId: 186802115

6 years agoRemove redundant line which is almost a duplicate of one a few lines below in
A. Unique TensorFlower [Fri, 23 Feb 2018 18:29:58 +0000 (10:29 -0800)]
Remove redundant line which is almost a duplicate of one a few lines below in
datasets_quickstart document.

PiperOrigin-RevId: 186788306

6 years agoAllow setting of OpMetadata for Send HLOs.
A. Unique TensorFlower [Fri, 23 Feb 2018 17:15:58 +0000 (09:15 -0800)]
Allow setting of OpMetadata for Send HLOs.

PiperOrigin-RevId: 186777369

6 years agoLet variables initialized from checkpoints answer ".initialized_value()" correctly.
A. Unique TensorFlower [Fri, 23 Feb 2018 10:16:32 +0000 (02:16 -0800)]
Let variables initialized from checkpoints answer ".initialized_value()" correctly.

PiperOrigin-RevId: 186741832

6 years agoUnify metropolis_hastings interface with HMC kernel.
Dustin Tran [Fri, 23 Feb 2018 04:02:33 +0000 (20:02 -0800)]
Unify metropolis_hastings interface with HMC kernel.

PiperOrigin-RevId: 186716023

6 years agoEnable constant propagation across Switch(x,x) by rewriting the two outputs as Const...
A. Unique TensorFlower [Fri, 23 Feb 2018 03:47:03 +0000 (19:47 -0800)]
Enable constant propagation across Switch(x,x) by rewriting the two outputs as Const(false), Const(true) with appropriate control dependencies. This is a fairly common pattern when the graph contains assertions.

By rewriting the graph a bit, we can propagate the constants down the two output branches, and just use control dependencies to trigger the selected one at runtime. For example,
         +------+
     x-->|Switch|-->a
     x-->|      |-->b
         +------+

Is rewritten as

         +------+
     x-->|Switch|-->Identity--^>Const(false)-->a
     x-->|      |-->Identity--^>Const(true)-->b
         +------+

(In practice there may be multiple consumers of each output branch.)

PiperOrigin-RevId: 186714991

6 years agoPass 'mode' argument to input_fn if appropriate in TPUEstimator.
A. Unique TensorFlower [Fri, 23 Feb 2018 02:34:32 +0000 (18:34 -0800)]
Pass 'mode' argument to input_fn if appropriate in TPUEstimator.

PiperOrigin-RevId: 186709373

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Fri, 23 Feb 2018 02:18:20 +0000 (18:18 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 186707935

6 years ago[XLA] Add SliceInDim to the local Python XLA client.
A. Unique TensorFlower [Fri, 23 Feb 2018 02:13:40 +0000 (18:13 -0800)]
[XLA] Add SliceInDim to the local Python XLA client.
[XLA] Revise a comment regarding how the two-argument version of Reshape flattens dimensions (it's first-to-last, not major-to-minor since those terms apply to memory layout rather than logical dimensions, and the comment wasn't consistent about major-to-minor or minor-to-major).

PiperOrigin-RevId: 186707393

6 years agoAdd cost estimator tests for the BiasAdd, ReLU, and Conv2D operations.
A. Unique TensorFlower [Fri, 23 Feb 2018 02:02:04 +0000 (18:02 -0800)]
Add cost estimator tests for the BiasAdd, ReLU, and Conv2D operations.

PiperOrigin-RevId: 186705930

6 years agoFix fix Defun logic when returning a value captured from an outer scope.
Derek Murray [Fri, 23 Feb 2018 02:01:16 +0000 (18:01 -0800)]
Fix fix Defun logic when returning a value captured from an outer scope.

Previously, the following would fail:

```python
c = tf.constant(...)
@Defun(...)
def Foo(...):
  return c
```

The fix involves ensuring that every output of the function is a member of the function graph, and invoking the capturing logic if it is not.

PiperOrigin-RevId: 186705800

6 years agoTurn on strip_default_attrs by default during custom export.
A. Unique TensorFlower [Fri, 23 Feb 2018 01:52:58 +0000 (17:52 -0800)]
Turn on strip_default_attrs by default during custom export.

PiperOrigin-RevId: 186704976

6 years agoMoved LIBXSMM convolutions to a separate --define flag so that they are disabled...
A. Unique TensorFlower [Fri, 23 Feb 2018 01:19:49 +0000 (17:19 -0800)]
Moved LIBXSMM convolutions to a separate --define flag so that they are disabled by default.

PiperOrigin-RevId: 186700936

6 years agoLSTM support: Quantized types, quantization params for 16-bit unfused LSTMs.
A. Unique TensorFlower [Fri, 23 Feb 2018 00:53:40 +0000 (16:53 -0800)]
LSTM support: Quantized types, quantization params for 16-bit unfused LSTMs.

PiperOrigin-RevId: 186697357

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Fri, 23 Feb 2018 00:50:27 +0000 (16:50 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 186696903

6 years agoClarify ownership story of TfLiteIntArray* nodes_to_replace
Andrew Selle [Fri, 23 Feb 2018 00:49:48 +0000 (16:49 -0800)]
Clarify ownership story of TfLiteIntArray* nodes_to_replace

PiperOrigin-RevId: 186696787

6 years agoSupport degenerate strided slicing under XLA.
Igor Ganichev [Fri, 23 Feb 2018 00:42:55 +0000 (16:42 -0800)]
Support degenerate strided slicing under XLA.

For example, when start, end, and stride are all positive, but `start` is
greater than `end`, tf2xla used to raise an error instead of returning a
tensor with that dimension size being 0. Latter is the regular
tensorflow and python behavior. This change makes XLA behave the same
way.

PiperOrigin-RevId: 186695842

6 years agoInternal change.
A. Unique TensorFlower [Fri, 23 Feb 2018 00:40:41 +0000 (16:40 -0800)]
Internal change.

PiperOrigin-RevId: 186695534

6 years ago[XLA] Enable most xla/tests for interpreter.
Kay Zhu [Fri, 23 Feb 2018 00:40:19 +0000 (16:40 -0800)]
[XLA] Enable most xla/tests for interpreter.

PiperOrigin-RevId: 186695486

6 years agoAdd to disabled tests the date they were last ran and failed.
Bixia Zheng [Fri, 23 Feb 2018 00:37:30 +0000 (16:37 -0800)]
Add to disabled tests the date they were last ran and failed.

This is to address the comments in cl/186664459.

PiperOrigin-RevId: 186695081

6 years agoAdd integration tests for remote build execution.
A. Unique TensorFlower [Fri, 23 Feb 2018 00:34:47 +0000 (16:34 -0800)]
Add integration tests for remote build execution.

PiperOrigin-RevId: 186694734

6 years agoNew Mutex operations for a distributed-happy and Function-less CriticalSection.
Eugene Brevdo [Fri, 23 Feb 2018 00:18:34 +0000 (16:18 -0800)]
New Mutex operations for a distributed-happy and Function-less CriticalSection.

Original idea by Alex Passos; impl and cancellation handling by Eugene Brevdo with help from Alex.

PiperOrigin-RevId: 186692306

6 years agoAdd a regression test for virtual_scheduler.
Max Galkin [Fri, 23 Feb 2018 00:13:00 +0000 (16:13 -0800)]
Add a regression test for virtual_scheduler.

PiperOrigin-RevId: 186691392

6 years agoImplement the logic to parse TensorProto (the tensor value for input or filter shape...
A. Unique TensorFlower [Thu, 22 Feb 2018 23:34:50 +0000 (15:34 -0800)]
Implement the logic to parse TensorProto (the tensor value for input or filter shape info) in op_level_cost_estimator.

PiperOrigin-RevId: 186685409

6 years ago[tf.data] Handle a function-raised OutOfRange error correctly in ParallelMapDataset.
Derek Murray [Thu, 22 Feb 2018 23:06:45 +0000 (15:06 -0800)]
[tf.data] Handle a function-raised OutOfRange error correctly in ParallelMapDataset.

PiperOrigin-RevId: 186680982

6 years agoMerge changes from github.
Yifei Feng [Thu, 22 Feb 2018 22:24:57 +0000 (14:24 -0800)]
Merge changes from github.

PiperOrigin-RevId: 186674197

6 years agoInternal change.
Jeremy Lau [Thu, 22 Feb 2018 22:20:35 +0000 (14:20 -0800)]
Internal change.

PiperOrigin-RevId: 186673561

6 years agoAdds support for identifying dilated convolution emulation.
A. Unique TensorFlower [Thu, 22 Feb 2018 21:54:25 +0000 (13:54 -0800)]
Adds support for identifying dilated convolution emulation.

Dilated convolution can be emulated by a chain of SpaceToBatchND -> Conv2D -> BatchtoSpaceND. This change adds a graph transformation that identifies this pattern, and variations of it, and substitutes a true dilated convolution instead.

PiperOrigin-RevId: 186669260

6 years agoEnable int64 outfeed.
Jacques Pienaar [Thu, 22 Feb 2018 21:43:57 +0000 (13:43 -0800)]
Enable int64 outfeed.

PiperOrigin-RevId: 186667574

6 years ago[XLA] Enable F16 convolution test for CPU.
Bixia Zheng [Thu, 22 Feb 2018 21:23:47 +0000 (13:23 -0800)]
[XLA] Enable F16 convolution test for CPU.

Remove TODO(b/72509305) as the issue has been fixed.

PiperOrigin-RevId: 186664459

6 years agoAdd min_check_interval_secs with 5s as default to ValidationMonitor to avoid checking...
A. Unique TensorFlower [Thu, 22 Feb 2018 21:09:53 +0000 (13:09 -0800)]
Add min_check_interval_secs with 5s as default to ValidationMonitor to avoid checking for existance of a new checkpoint overly frequent that can lead to severe performance issues on remote filesystems.

PiperOrigin-RevId: 186662441

6 years agoRelax one of the error conditions to allow modeling graphs without explicit set of...
Max Galkin [Thu, 22 Feb 2018 21:04:13 +0000 (13:04 -0800)]
Relax one of the error conditions to allow modeling graphs without explicit set of feed nodes.

PiperOrigin-RevId: 186661729

6 years agoRemove a bit of misleading documentation (we no longer do Graph containers)
Allen Lavoie [Thu, 22 Feb 2018 20:53:25 +0000 (12:53 -0800)]
Remove a bit of misleading documentation (we no longer do Graph containers)

PiperOrigin-RevId: 186660057

6 years agoInternal change.
Jeremy Lau [Thu, 22 Feb 2018 20:45:38 +0000 (12:45 -0800)]
Internal change.

PiperOrigin-RevId: 186658974

6 years ago[XLA] HLO BF16 propagation pass.
Yuanzhong Xu [Thu, 22 Feb 2018 20:27:37 +0000 (12:27 -0800)]
[XLA] HLO BF16 propagation pass.

Using BFloat16Support provided by the backend to determine what precision is needed for
each HloInstruction. If the implementation of some HLOs already reduces input precision to BF16, this pass can enable BF16 on more ops without affecting the result.

PiperOrigin-RevId: 186656378

6 years agoGenerate example for basic lstm cell in tflite
Zhixian Yan [Thu, 22 Feb 2018 20:26:22 +0000 (12:26 -0800)]
Generate example for basic lstm cell in tflite

PiperOrigin-RevId: 186656247

6 years agoFix BaseGPUDevice, let it report the actual memory limit of the allocator. Also added...
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

6 years agoMeasure the performance of the original placement to ensure that we preserve it
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

6 years agoAdd eager support for unit tests for most Keras layers.
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

6 years agoCheckpointable: Re-use the Saver's SaveableObject infrastructure to create
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

6 years agoUpdate bazel toolchains dependency.
Gunhan Gulsoy [Thu, 22 Feb 2018 19:46:05 +0000 (11:46 -0800)]
Update bazel toolchains dependency.

PiperOrigin-RevId: 186650360

6 years agoAdd basic support for quantized unfused LSTMs.
A. Unique TensorFlower [Thu, 22 Feb 2018 19:45:57 +0000 (11:45 -0800)]
Add basic support for quantized unfused LSTMs.

PiperOrigin-RevId: 186650338

6 years ago[TF:XLA] Improve readability of HLO graphs when rendered via Tensorboard.
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

6 years agoAdd a test only method to reset ProcessState.
Guangda Lai [Thu, 22 Feb 2018 19:25:24 +0000 (11:25 -0800)]
Add a test only method to reset ProcessState.

PiperOrigin-RevId: 186647005

6 years agoChange the MomentumOptimzer lambda so it has the same named argument (learning_rate)
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

6 years agoAdded a regression test to make sure we deal with large constants properly
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

6 years agoChange warning message for case where Python detects a colocation that conflicts...
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

6 years agoUpdate LLVM for API changes in r325725
A. Unique TensorFlower [Thu, 22 Feb 2018 17:03:00 +0000 (09:03 -0800)]
Update LLVM for API changes in r325725

PiperOrigin-RevId: 186624266

6 years agoAdd node name to placer device-placement/kernel-assignment error messages .
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

6 years agoAdd S64 add/subtract test and convert tests.
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

6 years ago[tf.data] Add experimental ability to override the function threadpool.
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

6 years agoOptionally have persistent make_vjp
A. Unique TensorFlower [Thu, 22 Feb 2018 14:48:27 +0000 (06:48 -0800)]
Optionally have persistent make_vjp

PiperOrigin-RevId: 186610572

6 years agoAdapt TensorFlow to LLVM API change from r325725
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

6 years agoFix compile errors by patching eigen locally.
Ilya Biryukov [Thu, 22 Feb 2018 11:11:14 +0000 (03:11 -0800)]
Fix compile errors by patching eigen locally.

PiperOrigin-RevId: 186592198

6 years agoDisable flaky keras:metrics_test.
Gunhan Gulsoy [Thu, 22 Feb 2018 07:33:44 +0000 (23:33 -0800)]
Disable flaky keras:metrics_test.

PiperOrigin-RevId: 186573303

6 years agoAvoid creating large constants since protocol buffers are limited to 2GB in size.
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

6 years agoDisable flaky moving_average test.
Gunhan Gulsoy [Thu, 22 Feb 2018 05:06:54 +0000 (21:06 -0800)]
Disable flaky moving_average test.

PiperOrigin-RevId: 186563841

6 years agoStarted to open source the RL placer.
Benoit Steiner [Thu, 22 Feb 2018 05:05:42 +0000 (21:05 -0800)]
Started to open source the RL placer.

PiperOrigin-RevId: 186563773

6 years agoDeleting test that checks that 2D convolution with NCHW format is not implemented...
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

6 years agoDo not set cudnn batch norm persistent mode when doing inference.
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

6 years agoDelete dot_operation_runtime_test -- it is identical to dot_operation_test.
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

6 years agoFix control flow bug.
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

6 years agoFix subtle race condition in ResourceVariable.is_initialized
Alexandre Passos [Thu, 22 Feb 2018 01:19:40 +0000 (17:19 -0800)]
Fix subtle race condition in ResourceVariable.is_initialized

PiperOrigin-RevId: 186544846

6 years agoAdd more strided R1 tests.
Michael Kuperstein [Thu, 22 Feb 2018 00:58:47 +0000 (16:58 -0800)]
Add more strided R1 tests.

PiperOrigin-RevId: 186542219

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
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

6 years ago[XLA] Convert large constants of the same value into broadcasts.
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

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Thu, 22 Feb 2018 00:24:20 +0000 (16:24 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 186537602

6 years agoFix lint errors and improve docs in fully_connected_reader.py.
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

6 years agoInternal change.
A. Unique TensorFlower [Thu, 22 Feb 2018 00:03:32 +0000 (16:03 -0800)]
Internal change.

PiperOrigin-RevId: 186534524

6 years agoMove sorting of variables from the implicit_grad family of functions
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

6 years agoAutomated g4 rollback of changelist 186494344
Jacques Pienaar [Wed, 21 Feb 2018 23:37:05 +0000 (15:37 -0800)]
Automated g4 rollback of changelist 186494344

PiperOrigin-RevId: 186530782

6 years ago[tf.data] Move the `tf.contrib.data.unique()` C++ implementation to contrib.
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

6 years agoInternal-only change.
Brennan Saeta [Wed, 21 Feb 2018 23:19:47 +0000 (15:19 -0800)]
Internal-only change.

PiperOrigin-RevId: 186528023

6 years agoDisable flaky test tensorflow/contrib/opt:moving_average_optimizer_test
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

6 years agoAdd the ability to specify an explicit `training` argument when calling a Model ...
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

6 years agoDon't assign device for the keras part of _saved_first_checkpoint. Fix #14504.
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

6 years agoDon't require shape functions when creating ops from Python using the C API.
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

6 years agoMark the `SerializeSparseOp<Variant>` kernel as inexpensive.
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

6 years agoRecord gradient in C
Akshay Modi [Wed, 21 Feb 2018 22:42:11 +0000 (14:42 -0800)]
Record gradient in C

PiperOrigin-RevId: 186522240

6 years agoImprove error message.
Jianwei Xie [Wed, 21 Feb 2018 22:40:18 +0000 (14:40 -0800)]
Improve error message.

PiperOrigin-RevId: 186521902

6 years agoEnsured that the model pruner outputs the nodes of the optimized graph in a
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

6 years agoMake CPUAllocator VisitableAllocator, for better RDMA networking.
A. Unique TensorFlower [Wed, 21 Feb 2018 22:14:42 +0000 (14:14 -0800)]
Make CPUAllocator VisitableAllocator, for better RDMA networking.

PiperOrigin-RevId: 186518037

6 years agoMake with_c_api a no-op if the C API is already enabled.
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