platform/upstream/tensorflow.git
6 years ago[XLA] Add FusionKind matcher to pattern_matcher.h.
Justin Lebar [Mon, 7 May 2018 19:10:15 +0000 (12:10 -0700)]
[XLA] Add FusionKind matcher to pattern_matcher.h.

PiperOrigin-RevId: 195700319

6 years ago[tf.data] Patch to unref iterator_resource in DeserializeIteratorOp.
Shivani Agrawal [Mon, 7 May 2018 19:03:20 +0000 (12:03 -0700)]
[tf.data] Patch to unref iterator_resource in DeserializeIteratorOp.

PiperOrigin-RevId: 195698980

6 years agoDisable autograph cfg_test in windows.
Gunhan Gulsoy [Mon, 7 May 2018 18:52:46 +0000 (11:52 -0700)]
Disable autograph cfg_test in windows.

PiperOrigin-RevId: 195697446

6 years agoRegister bool scatter_update for resource variables
Alexandre Passos [Mon, 7 May 2018 18:49:08 +0000 (11:49 -0700)]
Register bool scatter_update for resource variables
Fixes #17784

PiperOrigin-RevId: 195696915

6 years agoGeneralize the input to TPU distribution strategy. Add cross-shard-replica sum.
Igor Saprykin [Mon, 7 May 2018 18:48:31 +0000 (11:48 -0700)]
Generalize the input to TPU distribution strategy.  Add cross-shard-replica sum.

TPUStrategy passes tests in minimize_loss_test.  That caused me to add a capability to have `iterations x cores` inputs of any structure.  I also resolved a big number of small issues and uncovered more things to resolve that are documented as todos.

PiperOrigin-RevId: 195696833

6 years agoRelease notes for TensorFlow Lite.
Yu-Cheng Ling [Mon, 7 May 2018 18:27:02 +0000 (11:27 -0700)]
Release notes for TensorFlow Lite.

PiperOrigin-RevId: 195693362

6 years agoExtracts PartialConcatConstFolding into a method.
A. Unique TensorFlower [Mon, 7 May 2018 18:11:28 +0000 (11:11 -0700)]
Extracts PartialConcatConstFolding into a method.

PiperOrigin-RevId: 195690333

6 years agoAdd tests for broadcasting KL divergence calculations.
A. Unique TensorFlower [Mon, 7 May 2018 18:09:47 +0000 (11:09 -0700)]
Add tests for broadcasting KL divergence calculations.

PiperOrigin-RevId: 195690035

6 years agoReplaced calls to tensorflow::StringPiece::ToString with std::string conversions.
A. Unique TensorFlower [Mon, 7 May 2018 18:05:56 +0000 (11:05 -0700)]
Replaced calls to tensorflow::StringPiece::ToString with std::string conversions.
That is, instances of sp.ToString() are replaced with std::string(sp).

This will allow tensorflow::StringPiece::ToString to be removed, which is necessary before it can be replaced with absl::string_view.

PiperOrigin-RevId: 195689392

6 years agoExtend block sparsity support for TPUs
A. Unique TensorFlower [Mon, 7 May 2018 17:49:26 +0000 (10:49 -0700)]
Extend block sparsity support for TPUs

PiperOrigin-RevId: 195685740

6 years agoAdd EvaluateNodes to HoistFactorDiv test.
A. Unique TensorFlower [Mon, 7 May 2018 17:47:35 +0000 (10:47 -0700)]
Add EvaluateNodes to HoistFactorDiv test.

PiperOrigin-RevId: 195685340

6 years agoRemoving quotations to fix the broken link found on https://www.tensorflow.org/progra...
A. Unique TensorFlower [Mon, 7 May 2018 17:42:13 +0000 (10:42 -0700)]
Removing quotations to fix the broken link found on https://tensorflow.org/programmers_guide/embedding

The link at "Follow this link to see a fun example of thumbnail images in the Embedding Projector." It should go to https://www.tensorflow.org/images/embedding-mnist.mp4 but instead goes to the TF index page.

PiperOrigin-RevId: 195684456

6 years agoInternal Change
Abhijit Karmarkar [Mon, 7 May 2018 17:27:50 +0000 (10:27 -0700)]
Internal Change

PiperOrigin-RevId: 195681946

6 years agoControl flow graph with forward and backward analysis
A. Unique TensorFlower [Mon, 7 May 2018 13:27:43 +0000 (06:27 -0700)]
Control flow graph with forward and backward analysis

PiperOrigin-RevId: 195654450

6 years agoAutomated g4 rollback of changelist 195638795
A. Unique TensorFlower [Mon, 7 May 2018 11:25:03 +0000 (04:25 -0700)]
Automated g4 rollback of changelist 195638795

PiperOrigin-RevId: 195645734

6 years agoImprove fusion logic of (a dot b) * alpha
A. Unique TensorFlower [Mon, 7 May 2018 10:00:34 +0000 (03:00 -0700)]
Improve fusion logic of (a dot b) * alpha

The previous approach didn't work because a multiplication by a scalar value
will be changed into an explicit broadcast.
Another issue that is fixed in this CL is retrieving the constant value from
the literal. This depends on the PrimitiveType, before we always assumed it to be double.
Also when checking ImplementedAsGemm() we should not call it recursively, but instead just the check related to kDot.
Finally add an execution test and adjust the fusion logic test.

PiperOrigin-RevId: 195638795

6 years agoRemove unused threadpool from stream executor.
A. Unique TensorFlower [Mon, 7 May 2018 08:57:29 +0000 (01:57 -0700)]
Remove unused threadpool from stream executor.

PiperOrigin-RevId: 195632175

6 years agoGracefully handle workers without heartbeat support enabled.
Russell Power [Sun, 6 May 2018 01:55:28 +0000 (18:55 -0700)]
Gracefully handle workers without heartbeat support enabled.

PiperOrigin-RevId: 195560525

6 years ago[XLA:GPU] Zero out input buffers before running cudnn conv autotune.
Justin Lebar [Sat, 5 May 2018 19:34:32 +0000 (12:34 -0700)]
[XLA:GPU] Zero out input buffers before running cudnn conv autotune.

We don't need a corresponding change in gemm_thunk.cc because for gemms,
we do our autotune at runtime, at which point we have some real data in
our input/output buffers.

PiperOrigin-RevId: 195548896

6 years ago[TPU] Add option to only compile a replicated graph.
Jacques Pienaar [Sat, 5 May 2018 19:02:32 +0000 (12:02 -0700)]
[TPU] Add option to only compile a replicated graph.

Useful when wanting to compile a computation but not run it. Returns a serialized CompilationResult string with the error message.

PiperOrigin-RevId: 195547847

6 years agoAllow benchmark model graph to be specified in text proto format.
Shashi Shekhar [Sat, 5 May 2018 18:55:53 +0000 (11:55 -0700)]
Allow benchmark model graph to be specified in text proto format.

PiperOrigin-RevId: 195547670

6 years ago[XLA] Always be willing to duplicate widening kConvert instructions during fusion.
Justin Lebar [Sat, 5 May 2018 18:24:06 +0000 (11:24 -0700)]
[XLA] Always be willing to duplicate widening kConvert instructions during fusion.

This has the effect of pushing widening kConvert HLOs into consumers.
This is what we want, because it means that the producer writes the
narrower type (e.g. f16) and the consumer reads it and internally
upcasts to the wider type (e.g. f32).  This lets the producer and
consumer both run faster, because they have to touch less memory.

PiperOrigin-RevId: 195546910

6 years agoPart 2 of Swift<->TF sends/recvs: support receiving tensors in TF from
Mingsheng Hong [Sat, 5 May 2018 14:10:58 +0000 (07:10 -0700)]
Part 2 of Swift<->TF sends/recvs: support receiving tensors in TF from
Swift via direct session.

The changes are:

1. Added a TF experimental C API for Swift host to enqueue a tensor for sending
  to TF. Again, the C APIs can be removed once the Fifo-queue based design
  proves stable later.

2. TFLowerGraph is extended to generate Fifo related nodes for TF to receive
  tensors. This is similar to the extension for TF to send tensors.

3. TFPartition is extended to support host send (createHostSend()), which does
  the tensor send via a new protocol method TensorSendableReceivable.sendToDevice().

The main complexity is in sending a scalar, where a new protocol method
TensorSendableReceivable.createScalarTensor() is called to first create a tensor
out of it, and then send it over to TF.

Also removed code for protocol conformance on AccelerableByTensorFlow. Instead
have compiler look up that conformance from the SILFunction on sending/receiving
tensors.

AccelerableByTensorFlow could be removed from the compiler-known protocol list
now, but we'll defer that till things can stabilized more (in the past this
protocol has been added to and removed from the list at different times).

PiperOrigin-RevId: 195539436

6 years agoRemove uses of the kTransposeDot fusion
Sanjoy Das [Sat, 5 May 2018 05:04:20 +0000 (22:04 -0700)]
Remove uses of the kTransposeDot fusion

I didn't remove the enum itself, but after this change removing the enum should
be a simple NFC change (famous last words!).

This will make it easier to implement BatchDot on CPU.

The change removes usages of kTransposeDot by:

 - Teaching TransposeFolding to "fuse" transposes into dots by flipping the
   lhs_contracting_dims/rhs_contracting_dims fields.

 - Replacing the notion of transpose_lhs/transpose_rhs in the IR emitters with
   "has a non-canonical LHS contraction dimension"/"has a non-canonical RHS
   contraction dimension" where the canonical LHS and RHS contraction dims [0]
   are 1 and 0.

Some tests were getting away with creating Dot instructions with their
dimensions numbers unset.  I've fixed these to create canonical dot operations
instead.

It is possible (but hard to tell without trying) that some of the IR emission
logic and Eigen runtime calls can now be simplified further.  For instance,
instead of passing in a `transpose_lhs` and `transpose_rhs` to the Eigen GEMM
routines, we could instead pass in the LHS and RHS contraction dimensions
directly.

[0] See HloInstruction::CreateCanonicalDot.

PiperOrigin-RevId: 195514907

6 years agoFix landscape layout.
Shashi Shekhar [Sat, 5 May 2018 02:18:44 +0000 (19:18 -0700)]
Fix landscape layout.

PiperOrigin-RevId: 195506194

6 years agoOVIC Benchmarker App (current without the functionality to bind to a CPU).
A. Unique TensorFlower [Sat, 5 May 2018 01:49:08 +0000 (18:49 -0700)]
OVIC Benchmarker App (current without the functionality to bind to a CPU).

PiperOrigin-RevId: 195503895

6 years agoadd support for PadV2
A. Unique TensorFlower [Sat, 5 May 2018 01:49:08 +0000 (18:49 -0700)]
add support for PadV2

PiperOrigin-RevId: 195503894

6 years agoCheckpointable: A small utility for exempting objects from __setattr__ tracking
Allen Lavoie [Sat, 5 May 2018 01:25:18 +0000 (18:25 -0700)]
Checkpointable: A small utility for exempting objects from __setattr__ tracking

Exposes it as tf.contrib.checkpoint.NoDependency. Objects wrapped in a
NoDependency object get unwrapped in __setattr__ and not tracked.

Removes the _save_counter dependency from tf.train.Checkpoint (the save counter
is still tracked as "save_counter" and always has been, so this is a
backwards-compatible dependency removal).

PiperOrigin-RevId: 195502562

6 years agoGuaranteeConst is a NoOp for the op_level_cost_estiamtor.
Max Galkin [Sat, 5 May 2018 01:17:45 +0000 (18:17 -0700)]
GuaranteeConst is a NoOp for the op_level_cost_estiamtor.

PiperOrigin-RevId: 195501990

6 years agoInternal Change
A. Unique TensorFlower [Sat, 5 May 2018 01:07:41 +0000 (18:07 -0700)]
Internal Change

PiperOrigin-RevId: 195501342

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Sat, 5 May 2018 00:46:13 +0000 (17:46 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 195499636

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Sat, 5 May 2018 00:18:35 +0000 (17:18 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 195497084

6 years ago[tf.data] Adding `num_parallel_calls` to `map_and_batch`.
Jiri Simsa [Sat, 5 May 2018 00:03:52 +0000 (17:03 -0700)]
[tf.data] Adding `num_parallel_calls` to `map_and_batch`.

PiperOrigin-RevId: 195495206

6 years agoAdd infrastructure for a backend-specific configuration for each op. This is intentio...
Bjarke Hammersholt Roune [Fri, 4 May 2018 23:51:06 +0000 (16:51 -0700)]
Add infrastructure for a backend-specific configuration for each op. This is intentionally not exposed in ComputationBuilder and is not intended for use or to be set at all prior to the last backend-specific part of compilation.

PiperOrigin-RevId: 195493500

6 years agoExpose read-only versions of tensors in tflite.
A. Unique TensorFlower [Fri, 4 May 2018 23:37:27 +0000 (16:37 -0700)]
Expose read-only versions of tensors in tflite.

PiperOrigin-RevId: 195491701

6 years agoAdd the ability to export separate SavedModels for train and eval mode to Estimator...
Karmel Allison [Fri, 4 May 2018 23:01:02 +0000 (16:01 -0700)]
Add the ability to export separate SavedModels for train and eval mode to Estimator with two new methods, available in tf.contrib: export_all_saved_models and export_saved_model_for_mode.

PiperOrigin-RevId: 195485922

6 years ago[XLA] Print allowed attributes when the user specifies an invalid attr.
Justin Lebar [Fri, 4 May 2018 22:40:07 +0000 (15:40 -0700)]
[XLA] Print allowed attributes when the user specifies an invalid attr.

PiperOrigin-RevId: 195482974

6 years agoIdentify and prune nodes that can never be executed
Benoit Steiner [Fri, 4 May 2018 22:14:00 +0000 (15:14 -0700)]
Identify and prune nodes that can never be executed

PiperOrigin-RevId: 195478951

6 years agoFix build failure for macos py3
James Qin [Fri, 4 May 2018 21:53:58 +0000 (14:53 -0700)]
Fix build failure for macos py3

PiperOrigin-RevId: 195475780

6 years ago[XLA:GPU] Mark floating-point division as an inexpensive op.
Justin Lebar [Fri, 4 May 2018 21:40:02 +0000 (14:40 -0700)]
[XLA:GPU] Mark floating-point division as an inexpensive op.

"Expensive" really means "so expensive you'd choose not to fuse in order
to avoid doing it twice".  FP division definitely isn't that expensive.

PiperOrigin-RevId: 195473524

6 years agoSome fixes to support another TF graph:
A. Unique TensorFlower [Fri, 4 May 2018 19:28:42 +0000 (12:28 -0700)]
Some fixes to support another TF graph:
1. Fix ResolveBatchNormalization to avoid deleting arrays that may still be
used.
2. Correctly count the number of ops using a given array, even when some ops
use the same array as more than one of their inputs.
3. In PropagateFixedSizes for Concatenation ops, when resolving a -1 wildcard
to a fixed value, we were doing so in a local 'axis' variable without actually
updating op->axis! The resulting -1 value still in op->axis tripped runtime code,
causing the concatenation to misbehave during inference.

PiperOrigin-RevId: 195454037

6 years ago[XLA] Redesign: migrate the SWIG wrapped xla client.
A. Unique TensorFlower [Fri, 4 May 2018 18:40:20 +0000 (11:40 -0700)]
[XLA] Redesign: migrate the SWIG wrapped xla client.
Added LocalOp that wraps XlaOp, so that it's fully visible to swig.

PiperOrigin-RevId: 195446939

6 years ago[XLA] Cleanup client_library_test_base: move definition of CreateParameterAndTransfer...
A. Unique TensorFlower [Fri, 4 May 2018 18:40:01 +0000 (11:40 -0700)]
[XLA] Cleanup client_library_test_base: move definition of CreateParameterAndTransferLiteral to .cc file

PiperOrigin-RevId: 195446864

6 years agoAdd operations before Identity operations should be quantized.
Suharsh Sivakumar [Fri, 4 May 2018 18:17:17 +0000 (11:17 -0700)]
Add operations before Identity operations should be quantized.

Fixes #19014

PiperOrigin-RevId: 195443326

6 years agoInternal clean up: change scanf to use int64_t instead of int64
A. Unique TensorFlower [Fri, 4 May 2018 17:50:29 +0000 (10:50 -0700)]
Internal clean up: change scanf to use int64_t instead of int64

PiperOrigin-RevId: 195438212

6 years agoImprove broadcast add implementation.
A. Unique TensorFlower [Fri, 4 May 2018 17:47:38 +0000 (10:47 -0700)]
Improve broadcast add implementation.

PiperOrigin-RevId: 195437679

6 years agoTFTS: Make it easier to swap in different autoregressive models.
Allen Lavoie [Fri, 4 May 2018 17:37:42 +0000 (10:37 -0700)]
TFTS: Make it easier to swap in different autoregressive models.

Adds a very simple LSTM encoder/decoder option as an example.

ARModel's new constructor argument is a bit awkward, since Estimator's new graphs mean we need a Model factory rather than a Model (or to un-build the model?). It's still a much more pleasant way to write autoregressive models than fiddling with ARModel directly, since ARModel handles collecting all the features (and the prediction loop, etc.). Happy to hear other ideas for an API.

PiperOrigin-RevId: 195436186

6 years agoImplement neg op
Alan Chiao [Fri, 4 May 2018 17:31:01 +0000 (10:31 -0700)]
Implement neg op

PiperOrigin-RevId: 195435079

6 years agoChange RecvTensor RPC implementation to use DeviceContext::CopyDeviceTensorToCPU...
Peter Hawkins [Fri, 4 May 2018 17:18:46 +0000 (10:18 -0700)]
Change RecvTensor RPC implementation to use DeviceContext::CopyDeviceTensorToCPU rather than calling GPUUtil::CopyGPUTensorToCPU. The direct call into the GPU code is problematic for non-GPU devices.

PiperOrigin-RevId: 195433287

6 years ago[XLA] Remove template keyword on non-template methods.
Benjamin Kramer [Fri, 4 May 2018 10:43:00 +0000 (03:43 -0700)]
[XLA] Remove template keyword on non-template methods.

This is an error with clang trunk.

PiperOrigin-RevId: 195394277

6 years agoFix HloSharding::GetSubSharding to return correct array shardings
A. Unique TensorFlower [Fri, 4 May 2018 10:27:18 +0000 (03:27 -0700)]
Fix HloSharding::GetSubSharding to return correct array shardings

Previously it always returned a tuple sharding even if the specified
index was referenceing a non-tuple element.

PiperOrigin-RevId: 195393313

6 years agoDo not crash on ROOT outfeed operations.
A. Unique TensorFlower [Fri, 4 May 2018 09:22:14 +0000 (02:22 -0700)]
Do not crash on ROOT outfeed operations.

PiperOrigin-RevId: 195388075

6 years agoFixing some linter errors in TF documentation (Github > GitHub, the the > the).
A. Unique TensorFlower [Fri, 4 May 2018 09:04:33 +0000 (02:04 -0700)]
Fixing some linter errors in TF documentation (Github > GitHub, the the > the).

PiperOrigin-RevId: 195386172

6 years agoPrefer non-nested GradientTape.gradient call when only one source is passed.
Tom Hennigan [Fri, 4 May 2018 08:57:02 +0000 (01:57 -0700)]
Prefer non-nested GradientTape.gradient call when only one source is passed.

PiperOrigin-RevId: 195385406

6 years ago * Don't copy on-host and on-device shapes locally.
A. Unique TensorFlower [Fri, 4 May 2018 08:47:12 +0000 (01:47 -0700)]
  * Don't copy on-host and on-device shapes locally.
  * Use ForEachMutableElement rather than the iterators, as it is much quicker.

There is still room for improvement; ForEachMutableElement is linear in the number of nodes in the shape tree but we want to be linear in the number of nodes in the sub shape tree. But I feel this is a good enough improvement.

PiperOrigin-RevId: 195384423

6 years agoAutomated g4 rollback of changelist 194829761
HyoukJoong Lee [Fri, 4 May 2018 07:51:58 +0000 (00:51 -0700)]
Automated g4 rollback of changelist 194829761

PiperOrigin-RevId: 195379693

6 years agoInternal change.
A. Unique TensorFlower [Fri, 4 May 2018 06:36:02 +0000 (23:36 -0700)]
Internal change.

PiperOrigin-RevId: 195374319

6 years agoAdd the MultiWorkerMirroredStrategy
Yuefeng Zhou [Fri, 4 May 2018 05:01:39 +0000 (22:01 -0700)]
Add the MultiWorkerMirroredStrategy

PiperOrigin-RevId: 195368876

6 years ago[XLA] Redesign: cleanup client_library_test_base.
A. Unique TensorFlower [Fri, 4 May 2018 02:45:59 +0000 (19:45 -0700)]
[XLA] Redesign: cleanup client_library_test_base.

PiperOrigin-RevId: 195357555

6 years ago[XLA] Make LocalShapedBuffer::FromLiteral fallible by passing StatusOr wrapper.
Chris Leary [Fri, 4 May 2018 01:08:34 +0000 (18:08 -0700)]
[XLA] Make LocalShapedBuffer::FromLiteral fallible by passing StatusOr wrapper.

PiperOrigin-RevId: 195345724

6 years agoClear the stat cache of the target when renaming the file.
Ruoxin Sang [Fri, 4 May 2018 00:21:26 +0000 (17:21 -0700)]
Clear the stat cache of the target when renaming the file.

PiperOrigin-RevId: 195337886

6 years ago[XLA] Redesign: deprecate ComputationBuilder.
A. Unique TensorFlower [Fri, 4 May 2018 00:03:03 +0000 (17:03 -0700)]
[XLA] Redesign: deprecate ComputationBuilder.

PiperOrigin-RevId: 195335330

6 years agoFix flaky test time-outs for dnn_test and rnn_test.
A. Unique TensorFlower [Thu, 3 May 2018 23:34:11 +0000 (16:34 -0700)]
Fix flaky test time-outs for dnn_test and rnn_test.

PiperOrigin-RevId: 195331183

6 years agoAdjust worker shutdown hooks for TPUs
Russell Power [Thu, 3 May 2018 23:16:05 +0000 (16:16 -0700)]
Adjust worker shutdown hooks for TPUs

PiperOrigin-RevId: 195328247

6 years agoFix bugs in LogicalBuffer::ToString and BufferValue::ToProto: these functions
Jeremy Lau [Thu, 3 May 2018 23:08:48 +0000 (16:08 -0700)]
Fix bugs in LogicalBuffer::ToString and BufferValue::ToProto: these functions
may be called before set_color(), but color() check fails when no color is set.

PiperOrigin-RevId: 195327063

6 years agoFix oom_test so that it doesn't try to allocate a giant host buffer when
Justin Lebar [Thu, 3 May 2018 22:58:43 +0000 (15:58 -0700)]
Fix oom_test so that it doesn't try to allocate a giant host buffer when
run without --config=cuda.  Sadly the best way I could come up with is
pretty hacky.

PiperOrigin-RevId: 195325149

6 years agoDo not hoist nodes that modify frame info.
A. Unique TensorFlower [Thu, 3 May 2018 22:42:23 +0000 (15:42 -0700)]
Do not hoist nodes that modify frame info.

PiperOrigin-RevId: 195322927

6 years agoUse tuple instead of list to reduce the chance of it being picked by the list convers...
Dan Moldovan [Thu, 3 May 2018 22:39:46 +0000 (15:39 -0700)]
Use tuple instead of list to reduce the chance of it being picked by the list conversions.

PiperOrigin-RevId: 195322522

6 years agoFix bug that disabled loop invariant node motion optimizer. Disable it options, since...
A. Unique TensorFlower [Thu, 3 May 2018 22:20:05 +0000 (15:20 -0700)]
Fix bug that disabled loop invariant node motion optimizer. Disable it options, since it is broken in the presence of gradient stacks.

Get rid of an unnecessary copy of the graph.

PiperOrigin-RevId: 195319766

6 years agoAdd tflite listed models with accuracy and performance numbers.
Zhixian Yan [Thu, 3 May 2018 21:34:27 +0000 (14:34 -0700)]
Add tflite listed models with accuracy and performance numbers.

PiperOrigin-RevId: 195312636

6 years agoAdd separate get_read and get_updated helpers that work on code exceprts. Handle...
A. Unique TensorFlower [Thu, 3 May 2018 21:18:07 +0000 (14:18 -0700)]
Add separate get_read and get_updated helpers that work on code exceprts. Handle corner case for AugAssign. Fix bug in _node_sets_self_attribute.

PiperOrigin-RevId: 195309809

6 years ago[TF:XLA] clean up interface to xla::VerifyHloModule
Nick Desaulniers [Thu, 3 May 2018 21:16:27 +0000 (14:16 -0700)]
[TF:XLA] clean up interface to xla::VerifyHloModule

It seems that the first argument, platform, is unused.

PiperOrigin-RevId: 195309504

6 years agoOptimize idempotent ops, e.g., Snapshot(Snapshot(x)) => Snapshot(x)
A. Unique TensorFlower [Thu, 3 May 2018 21:11:13 +0000 (14:11 -0700)]
Optimize idempotent ops, e.g., Snapshot(Snapshot(x)) => Snapshot(x)

PiperOrigin-RevId: 195308675

6 years ago[XLA:CPU] Remove dead function + DCHECK, NFC
Sanjoy Das [Thu, 3 May 2018 21:00:56 +0000 (14:00 -0700)]
[XLA:CPU] Remove dead function + DCHECK, NFC

There isn't a lot of benefit to fixing the function to do that it says it does
since I'm adding support for lowering batch matmul which will break this
precondition anyway.

PiperOrigin-RevId: 195306803

6 years agoFix a typo.
Jianwei Xie [Thu, 3 May 2018 20:54:29 +0000 (13:54 -0700)]
Fix a typo.

PiperOrigin-RevId: 195305770

6 years agoDocumentation for tf.contrib.eager.py_func
Akshay Agrawal [Thu, 3 May 2018 20:40:20 +0000 (13:40 -0700)]
Documentation for tf.contrib.eager.py_func

PiperOrigin-RevId: 195303454

6 years agotfdbg + tflearn: replace deprecated classes and methods in example & docs
Shanqing Cai [Thu, 3 May 2018 20:30:12 +0000 (13:30 -0700)]
tfdbg + tflearn: replace deprecated classes and methods in example & docs

* `tf.contrib.learn.Experiment` is deprecated. Remove it from debug_tflearn_iris.py.
* Use `tf.estimator.DNNClassifier`, instead of the older one from `tf.contrib.learn`.
* Use `train()`, instead of `fit()` of Estimators.
* `Estimator.predict()` supports hooks. Add example lines for that.

PiperOrigin-RevId: 195301913

6 years agoCheckpointable: Utilities to read object metadata
Allen Lavoie [Thu, 3 May 2018 20:22:33 +0000 (13:22 -0700)]
Checkpointable: Utilities to read object metadata

Useful for inspecting checkpoints programatically (e.g. in unit tests).

PiperOrigin-RevId: 195300780

6 years agoFix bugs in model pruner.
A. Unique TensorFlower [Thu, 3 May 2018 20:09:30 +0000 (13:09 -0700)]
Fix bugs in model pruner.

PiperOrigin-RevId: 195298816

6 years agoSimplified the implementation of shape_n since the optimized code path isn't needed...
Benoit Steiner [Thu, 3 May 2018 20:09:28 +0000 (13:09 -0700)]
Simplified the implementation of shape_n since the optimized code path isn't needed anymore and can be incorrect in some rare cases.

PiperOrigin-RevId: 195298813

6 years agoChange all std::bind usages in GCS to lambdas. Fix the wrong #define Guard name in...
Ruoxin Sang [Thu, 3 May 2018 20:03:48 +0000 (13:03 -0700)]
Change all std::bind usages in GCS to lambdas. Fix the wrong #define Guard name in retrying_file_system.h.

PiperOrigin-RevId: 195297877

6 years agoEnable unary chain hoisting optimization for concat/split/splitv by default.
A. Unique TensorFlower [Thu, 3 May 2018 20:00:56 +0000 (13:00 -0700)]
Enable unary chain hoisting optimization for concat/split/splitv by default.

PiperOrigin-RevId: 195297330

6 years ago[TF:XLA] Bump open source llvm revision to r331442
Sanjoy Das [Thu, 3 May 2018 19:59:33 +0000 (12:59 -0700)]
[TF:XLA] Bump open source llvm revision to r331442

PiperOrigin-RevId: 195297133

6 years agoSmall fix for an eager colab notebook.
Allen Lavoie [Thu, 3 May 2018 19:53:47 +0000 (12:53 -0700)]
Small fix for an eager colab notebook.

PiperOrigin-RevId: 195296384

6 years agoSimplify file reading and support SavedModel.
Yao Zhang [Thu, 3 May 2018 19:19:01 +0000 (12:19 -0700)]
Simplify file reading and support SavedModel.

PiperOrigin-RevId: 195291836

6 years agoDo not delegate temporary tensors to NNAPI.
A. Unique TensorFlower [Thu, 3 May 2018 19:00:57 +0000 (12:00 -0700)]
Do not delegate temporary tensors to NNAPI.
  - also added delegation for MUL, and set the default scale to be 0.0f.

PiperOrigin-RevId: 195288948

6 years ago[XLA] Redesign: add ExecuteGraph to grpc service.
A. Unique TensorFlower [Thu, 3 May 2018 18:16:06 +0000 (11:16 -0700)]
[XLA] Redesign: add ExecuteGraph to grpc service.

PiperOrigin-RevId: 195281004

6 years agoPost-transform pass to dedupe large constant arrays.
A. Unique TensorFlower [Thu, 3 May 2018 16:10:06 +0000 (09:10 -0700)]
Post-transform pass to dedupe large constant arrays.

PiperOrigin-RevId: 195260578

6 years agoUse tensorflow size to determine number of elements instead of the static shape,...
Suharsh Sivakumar [Thu, 3 May 2018 07:16:09 +0000 (00:16 -0700)]
Use tensorflow size to determine number of elements instead of the static shape, which can sometimes be missing.

PiperOrigin-RevId: 195209826

6 years agoSimplify getter and setter method for GraphOptimizationPass::name_
Tony Wang [Thu, 3 May 2018 04:37:04 +0000 (21:37 -0700)]
Simplify getter and setter method for GraphOptimizationPass::name_

PiperOrigin-RevId: 195199912

6 years agoExpose Interpreter to tensorflow.contrib.lite
Andrew Selle [Thu, 3 May 2018 04:15:01 +0000 (21:15 -0700)]
Expose Interpreter to tensorflow.contrib.lite

PiperOrigin-RevId: 195198645

6 years agoFix tf.variable_scope unique name after entering root scope
Mostafa Alaa [Thu, 3 May 2018 02:53:18 +0000 (19:53 -0700)]
Fix tf.variable_scope unique name after entering root scope
Closes #18702.

PiperOrigin-RevId: 195192460

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Thu, 3 May 2018 02:19:12 +0000 (19:19 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 195190335

6 years agoReplaced calls to tensorflow::StringPiece::ToString with std::string conversions.
A. Unique TensorFlower [Thu, 3 May 2018 01:52:02 +0000 (18:52 -0700)]
Replaced calls to tensorflow::StringPiece::ToString with std::string conversions.
That is, instances of sp.ToString() are replaced with std::string(sp).

This will allow tensorflow::StringPiece::ToString to be removed, which is necessary before it can be replaced with absl::string_view.

PiperOrigin-RevId: 195188185

6 years agoCompute shape of segment_ids dynamically in _unsorted_segment_N
A. Unique TensorFlower [Thu, 3 May 2018 01:35:55 +0000 (18:35 -0700)]
Compute shape of segment_ids dynamically in _unsorted_segment_N

PiperOrigin-RevId: 195186950

6 years agoRemove duplicated emplace_back floor operator.
A. Unique TensorFlower [Thu, 3 May 2018 01:19:16 +0000 (18:19 -0700)]
Remove duplicated emplace_back floor operator.

PiperOrigin-RevId: 195185567

6 years agoAutomated g4 rollback of changelist 195091587
A. Unique TensorFlower [Thu, 3 May 2018 01:11:25 +0000 (18:11 -0700)]
Automated g4 rollback of changelist 195091587

PiperOrigin-RevId: 195184798

6 years agoAdd complex128 support to FFT, FFT2D, FFT3D, IFFT, IFFT2D, and IFFT3D.
RJ Ryan [Thu, 3 May 2018 00:57:27 +0000 (17:57 -0700)]
Add complex128 support to FFT, FFT2D, FFT3D, IFFT, IFFT2D, and IFFT3D.

NumPy automatically upcasts to complex128 when computing FFTs, leading to issues like:
#10749

This change allows users to choose between 32-bit and 64-bit precision FFTs on CPU and GPU.

PiperOrigin-RevId: 195183206

6 years agoAdd a collect_trace option to run_op_benchmark for cases when callers just want
Anna R [Thu, 3 May 2018 00:41:26 +0000 (17:41 -0700)]
Add a collect_trace option to run_op_benchmark for cases when callers just want
to pass RunOptions.FULL_TRACE but don't want to store trace in extras.

PiperOrigin-RevId: 195181533

6 years agoBufferValue is a new base class for LogicalBuffer and HloValue. This makes it
Jeremy Lau [Thu, 3 May 2018 00:25:10 +0000 (17:25 -0700)]
BufferValue is a new base class for LogicalBuffer and HloValue. This makes it
easier to migrate from TuplePointsToAnalysis/LogicalBuffer to
HloDataflowAnalysis/HloValue. No functional changes.

PiperOrigin-RevId: 195179676