platform/upstream/tensorflow.git
6 years agoFix a bug in create_python_api.py
A. Unique TensorFlower [Wed, 2 May 2018 20:42:40 +0000 (13:42 -0700)]
Fix a bug in create_python_api.py

I got an error complaining about "RuntimeError: dictionary changed size during iteration", this change fixes it.

PiperOrigin-RevId: 195144333

6 years ago[XLA] Add new optimization that sinks constants into while loop bodies
Sanjoy Das [Wed, 2 May 2018 20:36:31 +0000 (13:36 -0700)]
[XLA] Add new optimization that sinks constants into while loop bodies

Example transformation:

   state = (..., const, ...)
   while (pred(state)) {
     (..., v, ...) = state
     use(v)
     state = (..., v, ...)
   }

 =>

   state = (..., const, ...)
   while (pred(state)) {
     (..., v, ...) = state
     use(const)
     state = (..., v, ...)
   }

PiperOrigin-RevId: 195143323

6 years agoRe-enabling a test.
Jiri Simsa [Wed, 2 May 2018 20:29:01 +0000 (13:29 -0700)]
Re-enabling a test.

PiperOrigin-RevId: 195142105

6 years agoFix tsan failure in batch_dataset_op_test.
Saurabh Saxena [Wed, 2 May 2018 20:23:56 +0000 (13:23 -0700)]
Fix tsan failure in batch_dataset_op_test.
The error was being caused because we were trying to save invocation_results_` while the function call was in progress. Now we wait for all invocations to finish before saving both `invocation_results_` and `batch_results_`.

Did local A/B testing for tsan.
Before: 12/100 failed
After: All passed
PiperOrigin-RevId: 195141349

6 years agoIncreasing test size to reflect recent additions and prevent test timeouts.
Jiri Simsa [Wed, 2 May 2018 20:05:51 +0000 (13:05 -0700)]
Increasing test size to reflect recent additions and prevent test timeouts.

PiperOrigin-RevId: 195138565

6 years ago[XLA] Redesign: Dump HloSnapshot in local service as well. And support replaying...
A. Unique TensorFlower [Wed, 2 May 2018 20:05:15 +0000 (13:05 -0700)]
[XLA] Redesign: Dump HloSnapshot in local service as well. And support replaying HloSnapshot.

PiperOrigin-RevId: 195138472

6 years agoAdded support for packing of symbolic shapes
Benoit Steiner [Wed, 2 May 2018 19:58:06 +0000 (12:58 -0700)]
Added support for packing of symbolic shapes

PiperOrigin-RevId: 195137239

6 years agodocs: Link to the appropriately branched version of the live colab notebooks.
Asim Shankar [Wed, 2 May 2018 19:32:28 +0000 (12:32 -0700)]
docs: Link to the appropriately branched version of the live colab notebooks.

And update that link on release changes.

PiperOrigin-RevId: 195133689

6 years agoTurn on two half precision tests for GPU.
Bixia Zheng [Wed, 2 May 2018 18:57:24 +0000 (11:57 -0700)]
Turn on two half precision tests for GPU.

PiperOrigin-RevId: 195128326

6 years agoReplaced calls to tensorflow::StringPiece::ToString with std::string conversions.
A. Unique TensorFlower [Wed, 2 May 2018 18:45:15 +0000 (11:45 -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: 195126422

6 years agoInternal-only change.
Justin Lebar [Wed, 2 May 2018 18:40:09 +0000 (11:40 -0700)]
Internal-only change.

PiperOrigin-RevId: 195125476

6 years ago[XLA:GPU] Unroll unfused elementwise op kernels.
Benjamin Kramer [Wed, 2 May 2018 18:17:47 +0000 (11:17 -0700)]
[XLA:GPU] Unroll unfused elementwise op kernels.

So far we only unrolled loop fusions, elementwise ops is a logical extension.
We don't spend a lot of time in unfused elementwise ops in benchmarks, so this
is only worth a small speedup on V100.

PiperOrigin-RevId: 195121530

6 years agoAutomated g4 rollback of changelist 194981511
Peter Hawkins [Wed, 2 May 2018 18:12:58 +0000 (11:12 -0700)]
Automated g4 rollback of changelist 194981511

PiperOrigin-RevId: 195120627

6 years agoRenames _regression_head_with_mean_squared_error_loss to _regression_head.
A. Unique TensorFlower [Wed, 2 May 2018 17:57:49 +0000 (10:57 -0700)]
Renames _regression_head_with_mean_squared_error_loss to _regression_head.

PiperOrigin-RevId: 195117425

6 years agoInitialize all members of CollectiveParams at construction time to avoid
A. Unique TensorFlower [Wed, 2 May 2018 17:57:13 +0000 (10:57 -0700)]
Initialize all members of CollectiveParams at construction time to avoid
warnings of uninit memory access by dynamic analysis tools.

PiperOrigin-RevId: 195117321

6 years agoFix some nits in cpu_literal_caching_test that I noticed after submission
Sanjoy Das [Wed, 2 May 2018 17:43:25 +0000 (10:43 -0700)]
Fix some nits in cpu_literal_caching_test that I noticed after submission

PiperOrigin-RevId: 195114829

6 years agoInternal-only change.
Justin Lebar [Wed, 2 May 2018 17:36:26 +0000 (10:36 -0700)]
Internal-only change.

PiperOrigin-RevId: 195113702

6 years agoOptimized the analysis of rank and size operations.
Benoit Steiner [Wed, 2 May 2018 17:07:13 +0000 (10:07 -0700)]
Optimized the analysis of rank and size operations.

PiperOrigin-RevId: 195108832

6 years agoInstantiate SwapDimension1And2InTensor3 for Eigen::half
A. Unique TensorFlower [Wed, 2 May 2018 17:02:09 +0000 (10:02 -0700)]
Instantiate SwapDimension1And2InTensor3 for Eigen::half

PiperOrigin-RevId: 195107839

6 years agoAdd Name String to GraphOptimizationPass and Log Registered Passes
Tony Wang [Wed, 2 May 2018 16:52:10 +0000 (09:52 -0700)]
Add Name String to GraphOptimizationPass and Log Registered Passes

Added a name string to GraphOptimization class and set to the class name through REGISTER_OPTIMIZATION macro.
Modified RunGrouping function to log the name and phase of optimization pass that's running.
Added two additional functions to log all registered optimization passes in the order of execution.

PiperOrigin-RevId: 195106355

6 years agoAutomated g4 rollback of changelist 195091587
A. Unique TensorFlower [Wed, 2 May 2018 15:51:07 +0000 (08:51 -0700)]
Automated g4 rollback of changelist 195091587

PiperOrigin-RevId: 195098224

6 years agoUse experimental auto_sharding in multi worker dataset.
Priya Gupta [Wed, 2 May 2018 15:04:09 +0000 (08:04 -0700)]
Use experimental auto_sharding in multi worker dataset.

PiperOrigin-RevId: 195092992

6 years agoArraysExtraInfo: Add name_regexp field and regexp name matching.
A. Unique TensorFlower [Wed, 2 May 2018 14:51:53 +0000 (07:51 -0700)]
ArraysExtraInfo: Add name_regexp field and regexp name matching.
PiperOrigin-RevId: 195091587

6 years agoBUGFIX: Convert inputs and list of gradients into tuple if they are not instance...
A. Unique TensorFlower [Wed, 2 May 2018 08:36:18 +0000 (01:36 -0700)]
BUGFIX: Convert inputs and list of gradients into tuple if they are not instance of tuple. Otherwise this causes "unhashable keys" error when we try to hash.
Also fixed lint error.

PiperOrigin-RevId: 195061425

6 years agoAdd missing colocated element in test in buffer_assignment_test.
Mark Heffernan [Wed, 2 May 2018 03:14:29 +0000 (20:14 -0700)]
Add missing colocated element in test in buffer_assignment_test.
This was resulting in a flaky test because sometimes the live set would include this missing colocated element perhaps because the buffers in the allocation has some nondeterministic order (read from a map?).

PiperOrigin-RevId: 195039311

6 years agoMinor refactor: establish some operator naming conventions and apply them, so that...
Dan Moldovan [Wed, 2 May 2018 02:05:39 +0000 (19:05 -0700)]
Minor refactor: establish some operator naming conventions and apply them, so that the interface is a bit more consistent.

PiperOrigin-RevId: 195034691

6 years agoMake the CRF work when sequence_lengths are int32.
Patrick Nguyen [Wed, 2 May 2018 02:02:10 +0000 (19:02 -0700)]
Make the CRF work when sequence_lengths are int32.

PiperOrigin-RevId: 195034218

6 years ago[XLA:CPU] Re-use the same llvm::GlobalVariable for identical literals
Sanjoy Das [Wed, 2 May 2018 01:46:31 +0000 (18:46 -0700)]
[XLA:CPU] Re-use the same llvm::GlobalVariable for identical literals

This isn't necessary today, but it will be after an optimization change I'm
about to make.

LLVM has a constant merging pass too, but one of the motivations here is to
avoid the LLVM compile time overhead of having many large arrays in the IR.

PiperOrigin-RevId: 195032900

6 years agoInternal change
A. Unique TensorFlower [Wed, 2 May 2018 00:59:59 +0000 (17:59 -0700)]
Internal change

PiperOrigin-RevId: 195028221

6 years agoInternal change.
A. Unique TensorFlower [Wed, 2 May 2018 00:57:02 +0000 (17:57 -0700)]
Internal change.

PiperOrigin-RevId: 195027918

6 years agoRe-apply CL 194140820, which reverts #18251 (convolution change).
Patrick Nguyen [Wed, 2 May 2018 00:48:36 +0000 (17:48 -0700)]
Re-apply CL 194140820, which reverts #18251 (convolution change).

PiperOrigin-RevId: 195027049

6 years agotest fix
Mustafa Ispir [Wed, 2 May 2018 00:21:24 +0000 (17:21 -0700)]
test fix

PiperOrigin-RevId: 195023740

6 years agoSharding for tensorflow/contrib/timeseries/python/timeseries/state_space_models:struc...
Allen Lavoie [Tue, 1 May 2018 23:53:51 +0000 (16:53 -0700)]
Sharding for tensorflow/contrib/timeseries/python/timeseries/state_space_models:structural_ensemble_test

PiperOrigin-RevId: 195019968

6 years agoFix wrongly ordered lines
Rachel Lim [Tue, 1 May 2018 23:52:24 +0000 (16:52 -0700)]
Fix wrongly ordered lines

PiperOrigin-RevId: 195019769

6 years agoAvoid making a copy of the graph needlessly
Benoit Steiner [Tue, 1 May 2018 23:38:23 +0000 (16:38 -0700)]
Avoid making a copy of the graph needlessly

PiperOrigin-RevId: 195017837

6 years agoAdds logistic_regression_head.
A. Unique TensorFlower [Tue, 1 May 2018 23:38:19 +0000 (16:38 -0700)]
Adds logistic_regression_head.

PiperOrigin-RevId: 195017830

6 years agoCheck for overflow in shape calculation.
A. Unique TensorFlower [Tue, 1 May 2018 23:33:03 +0000 (16:33 -0700)]
Check for overflow in shape calculation.

PiperOrigin-RevId: 195017114

6 years agoAllow `warm_start_from` argument to be a SavedModel path.
A. Unique TensorFlower [Tue, 1 May 2018 23:20:47 +0000 (16:20 -0700)]
Allow `warm_start_from` argument to be a SavedModel path.

PiperOrigin-RevId: 195015356

6 years ago[TF:XLA] Separate on-host and on-device shape and layout in HloModule.
A. Unique TensorFlower [Tue, 1 May 2018 23:17:21 +0000 (16:17 -0700)]
[TF:XLA] Separate on-host and on-device shape and layout in HloModule.

Previously, only one layout was stored with an HLO module. This CL allows
HLO passes to modify the on-device layouts without affecting the on-host
layout (provided by the client)

PiperOrigin-RevId: 195014875

6 years agoImplementation of the fully-connected TFLite Op using the symmetric quantization.
A. Unique TensorFlower [Tue, 1 May 2018 22:47:27 +0000 (15:47 -0700)]
Implementation of the fully-connected TFLite Op using the symmetric quantization.

PiperOrigin-RevId: 195010312

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Tue, 1 May 2018 22:47:26 +0000 (15:47 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 195010310

6 years agoFixed some outdated comments
Benoit Steiner [Tue, 1 May 2018 22:19:42 +0000 (15:19 -0700)]
Fixed some outdated comments

PiperOrigin-RevId: 195006088

6 years agoMinor JNI performance improvement.
A. Unique TensorFlower [Tue, 1 May 2018 22:01:22 +0000 (15:01 -0700)]
Minor JNI performance improvement.

PiperOrigin-RevId: 195002949

6 years agoMaking ids unique in nn.embedding_lookup_sparse. This helps to reduce RPC calls for...
A. Unique TensorFlower [Tue, 1 May 2018 22:00:20 +0000 (15:00 -0700)]
Making ids unique in nn.embedding_lookup_sparse. This helps to reduce RPC calls for looking up the embeddings when there are repeated ids in the batch.

PiperOrigin-RevId: 195002785

6 years agoFix bug in peak buffer accounting in buffer assignment.
Mark Heffernan [Tue, 1 May 2018 21:52:40 +0000 (14:52 -0700)]
Fix bug in peak buffer accounting in buffer assignment.
Buffer assignment keeps track of the set of logical buffers which are live at
the point of peak memory usage for each allocation. Previously colocated
buffers were not properly accounted for. This CL addresses this problem.

PiperOrigin-RevId: 195001567

6 years agoMerge changes from github.
Patrick Nguyen [Tue, 1 May 2018 21:28:36 +0000 (14:28 -0700)]
Merge changes from github.

PiperOrigin-RevId: 194997009

6 years agoMake tower-local variables non-trainable even with the default
A. Unique TensorFlower [Tue, 1 May 2018 21:27:33 +0000 (14:27 -0700)]
Make tower-local variables non-trainable even with the default
DistributionStrategy.

PiperOrigin-RevId: 194996819

6 years agoEnable checkpointless eval and predict for tf.estimator.
A. Unique TensorFlower [Tue, 1 May 2018 21:04:59 +0000 (14:04 -0700)]
Enable checkpointless eval and predict for tf.estimator.

PiperOrigin-RevId: 194993191

6 years agoUpdate community/swift
Mark Daoust [Tue, 1 May 2018 20:54:34 +0000 (13:54 -0700)]
Update community/swift

PiperOrigin-RevId: 194991305

6 years agoUpdate schema.
Shashi Shekhar [Tue, 1 May 2018 20:44:58 +0000 (13:44 -0700)]
Update schema.

PiperOrigin-RevId: 194989704

6 years agoRelax the stringent memory allocator constraints in AssignOp if a Grappler graph...
A. Unique TensorFlower [Tue, 1 May 2018 20:34:39 +0000 (13:34 -0700)]
Relax the stringent memory allocator constraints in AssignOp if a Grappler graph analysis determines it to be safe. This will allow Assign to reuse the input buffer to initialize the variable in many cases.

PiperOrigin-RevId: 194988134

6 years agoCollective Ops Part 5
A. Unique TensorFlower [Tue, 1 May 2018 20:15:53 +0000 (13:15 -0700)]
Collective Ops Part 5

Distributed-mode implementations of DeviceResolverInterface
and ParamResolverInterface.  Extend Worker interface with
new methods in support of these interfaces.

This change is part of a series of changes introducing infrastructure
for collective ops and initial implementations of reduction and broadcast.

PiperOrigin-RevId: 194984585

6 years agoOpen source infeed test
Sanjoy Das [Tue, 1 May 2018 20:07:03 +0000 (13:07 -0700)]
Open source infeed test

PiperOrigin-RevId: 194983270

6 years agoAdd utility to auto shard a dataset pipeline in the appropriate place by locating...
Priya Gupta [Tue, 1 May 2018 20:01:41 +0000 (13:01 -0700)]
Add utility to auto shard a dataset pipeline in the appropriate place by locating the file readers and sharding their input files.

PiperOrigin-RevId: 194982311

6 years agoAdd a pointer from Device to its owning DeviceMgr.
Peter Hawkins [Tue, 1 May 2018 19:56:29 +0000 (12:56 -0700)]
Add a pointer from Device to its owning DeviceMgr.
Allow remote function execution on TPU devices.

PiperOrigin-RevId: 194981511

6 years agoImplements matrix multiply-accumulate for linear no-offset (aka symmetric) quantizer.
A. Unique TensorFlower [Tue, 1 May 2018 19:39:52 +0000 (12:39 -0700)]
Implements matrix multiply-accumulate for linear no-offset (aka symmetric) quantizer.

PiperOrigin-RevId: 194978865

6 years agoAdd device_util.resolve method which merges with current device as well.
Yuefeng Zhou [Tue, 1 May 2018 19:24:38 +0000 (12:24 -0700)]
Add device_util.resolve method which merges with current device as well.

PiperOrigin-RevId: 194976633

6 years agoSimplified shape inference.
Benoit Steiner [Tue, 1 May 2018 19:17:48 +0000 (12:17 -0700)]
Simplified shape inference.

PiperOrigin-RevId: 194975603

6 years agoImprove shape inference for tf.contrib.signal.frame.
RJ Ryan [Tue, 1 May 2018 19:02:59 +0000 (12:02 -0700)]
Improve shape inference for tf.contrib.signal.frame.

PiperOrigin-RevId: 194972934

6 years agoBoosted trees: support indicator column.
A. Unique TensorFlower [Tue, 1 May 2018 18:52:43 +0000 (11:52 -0700)]
Boosted trees: support indicator column.

PiperOrigin-RevId: 194971229

6 years agoeager: Update sample notebooks with API changes in the last few releases.
Asim Shankar [Tue, 1 May 2018 18:52:04 +0000 (11:52 -0700)]
eager: Update sample notebooks with API changes in the last few releases.

Most notably:
- Avoid using tf.contrib.eager since equivalent functionality if available outside tf.contrib
- Datasets can be directly iterated on.
- Use tf.GradientTape instead of tf.contrib.eager.implicit_gradients

PiperOrigin-RevId: 194971115

6 years agoAutomated g4 rollback of changelist 194917415
Gunhan Gulsoy [Tue, 1 May 2018 18:04:26 +0000 (11:04 -0700)]
Automated g4 rollback of changelist 194917415

PiperOrigin-RevId: 194962702

6 years agoFix crash in HloGraphDumper where it crashes on tuple shaped constants
A. Unique TensorFlower [Tue, 1 May 2018 16:07:57 +0000 (09:07 -0700)]
Fix crash in HloGraphDumper where it crashes on tuple shaped constants

The problem is that it tries to use a special logic for 0 element constants
but the logic used to check the number of elements only supports array shapes.

PiperOrigin-RevId: 194945246

6 years agoPreventing RemoveTrivialBinary from removing broadcasts.
A. Unique TensorFlower [Tue, 1 May 2018 14:56:08 +0000 (07:56 -0700)]
Preventing RemoveTrivialBinary from removing broadcasts.

PiperOrigin-RevId: 194937001

6 years agoProtocol buffer classes now list their fields in dir(cls)
A. Unique TensorFlower [Tue, 1 May 2018 10:25:26 +0000 (03:25 -0700)]
Protocol buffer classes now list their fields in dir(cls)

PiperOrigin-RevId: 194917415

6 years ago[XLA:CPU] Open source some tests.
Sanjoy Das [Tue, 1 May 2018 07:42:56 +0000 (00:42 -0700)]
[XLA:CPU] Open source some tests.

PiperOrigin-RevId: 194903752

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Tue, 1 May 2018 02:18:40 +0000 (19:18 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 194883351

6 years agoMove LinearOperatorKronecker and LinearOperatorBlockDiag to core.
A. Unique TensorFlower [Tue, 1 May 2018 01:51:48 +0000 (18:51 -0700)]
Move LinearOperatorKronecker and LinearOperatorBlockDiag to core.

PiperOrigin-RevId: 194881237

6 years ago[XLA] Redesign: dump HloSnapshot at the point where it used to dump the SessionModule.
A. Unique TensorFlower [Tue, 1 May 2018 01:41:36 +0000 (18:41 -0700)]
[XLA] Redesign: dump HloSnapshot at the point where it used to dump the SessionModule.

PiperOrigin-RevId: 194880385

6 years agoInternal change.
A. Unique TensorFlower [Tue, 1 May 2018 01:05:37 +0000 (18:05 -0700)]
Internal change.

PiperOrigin-RevId: 194877173

6 years agoRemove proto header import from core/framework/tracking_allocator.h
Yifei Feng [Tue, 1 May 2018 01:01:23 +0000 (18:01 -0700)]
Remove proto header import from core/framework/tracking_allocator.h

The goal is to make kernels mostly independent of proto headers, which will let us lock down our .so import.

PiperOrigin-RevId: 194876569

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

6 years ago[XLA] Redesign: migrate tensorflow/compiler/tf2xla, tensorflow/compiler/aot:
A. Unique TensorFlower [Tue, 1 May 2018 00:41:33 +0000 (17:41 -0700)]
[XLA] Redesign: migrate tensorflow/compiler/tf2xla, tensorflow/compiler/aot:
- xla::ComputationBuilder -> xla::XlaBuilder
- xla::ComputationDataHandle -> xla::XlaOp
- xla::Computation -> xla::XlaComputation
- xla::CompileOnlyClient::AotComputationInstance -> xla::CompileOnlyClient::AotXlaComputationInstance
- xla::SessionModule -> xla::HloSnapshot

PiperOrigin-RevId: 194874462

6 years ago[tf.data] Adding an experimental `group_by_reducer` transformation which groups eleme...
Jiri Simsa [Tue, 1 May 2018 00:38:38 +0000 (17:38 -0700)]
[tf.data] Adding an experimental `group_by_reducer` transformation which groups elements of an input pipeline by a key, applies a reduce function to elements of each group "on-the-fly", and outputs the results once all input elements have been processed.

PiperOrigin-RevId: 194874087

6 years agoInternal cleanup.
A. Unique TensorFlower [Tue, 1 May 2018 00:14:50 +0000 (17:14 -0700)]
Internal cleanup.

PiperOrigin-RevId: 194871141

6 years agoFaster reduce_logsoftmax (specially in eager) and bugfixes in broadcast_to
Alexandre Passos [Tue, 1 May 2018 00:11:40 +0000 (17:11 -0700)]
Faster reduce_logsoftmax (specially in eager) and bugfixes in broadcast_to

PiperOrigin-RevId: 194870645

6 years agoSmall fix to prevent a crash if the delegate has not implemented FreeBufferHandle.
A. Unique TensorFlower [Mon, 30 Apr 2018 23:43:14 +0000 (16:43 -0700)]
Small fix to prevent a crash if the delegate has not implemented FreeBufferHandle.

PiperOrigin-RevId: 194866595

6 years agoAdd MultiNodeDataset and MultiNodeIterator which are intended to work for multi-node...
Yuefeng Zhou [Mon, 30 Apr 2018 23:12:33 +0000 (16:12 -0700)]
Add MultiNodeDataset and MultiNodeIterator which are intended to work for multi-node distribution strategy.

PiperOrigin-RevId: 194862215

6 years ago[XLA] Change the TF2XLA bridge to perform F16 reduction using F32 data type.
Bixia Zheng [Mon, 30 Apr 2018 23:11:38 +0000 (16:11 -0700)]
[XLA] Change the TF2XLA bridge to perform F16 reduction using F32 data type.

Add test cases to test that reduce sum for bfloat16 and float16 doesn't lose too
much precision.

PiperOrigin-RevId: 194862078

6 years agoImprove error message for pip_smoke_test.
Yifei Feng [Mon, 30 Apr 2018 22:56:26 +0000 (15:56 -0700)]
Improve error message for pip_smoke_test.

PiperOrigin-RevId: 194859591

6 years agoDo not allocate memory for literal as it will be allocated later.
A. Unique TensorFlower [Mon, 30 Apr 2018 22:41:28 +0000 (15:41 -0700)]
Do not allocate memory for literal as it will be allocated later.

PiperOrigin-RevId: 194857422

6 years agoEnhancements to GRAPHVIZ_DOT output:
A. Unique TensorFlower [Mon, 30 Apr 2018 22:19:00 +0000 (15:19 -0700)]
Enhancements to GRAPHVIZ_DOT output:
    -edge weights added to encourage straighter main data-flow
    -line thickness proportional to log(data_size)
    -set global parameter "nslimit" to prevent excessive layout time for difficult graphs

PiperOrigin-RevId: 194854051

6 years agoImplement unary chain hoisting optimization for Concat, Split, and SplitV.
A. Unique TensorFlower [Mon, 30 Apr 2018 21:56:13 +0000 (14:56 -0700)]
Implement unary chain hoisting optimization for Concat, Split, and SplitV.

For Concat, hoist prefix chains of unary ops before concatenation, e.g.
  // Rewrites
  //       Concat({Cos(Exp(a)), Cos(Exp(b)), Cos(Exp(c))})
  // into
  //       Cos(Exp(Concat({a, b, c}))).

For Split/SplitV hoist unary postfix chains before the split, e.g.
  // Rewrites
  //          [Cos(Exp(y)) for y in Split(x)]
  // into
  //          [y for y in Split(Cos(Exp(x)))].

The new optimization is off by default.

PiperOrigin-RevId: 194850318

6 years agoAdd XLA logo to its documentation page
Eli Bendersky [Mon, 30 Apr 2018 21:39:25 +0000 (14:39 -0700)]
Add XLA logo to its documentation page

PiperOrigin-RevId: 194847599

6 years agoDo not cast int64 to int32 in keras embedding lookups.
Alexandre Passos [Mon, 30 Apr 2018 21:34:01 +0000 (14:34 -0700)]
Do not cast int64 to int32 in keras embedding lookups.

Often when working on the GPU with tf int64s are more efficient as int32s will
be copied back and forth to the host quite a bit.

PiperOrigin-RevId: 194846629

6 years ago[TF:XLA] Fix some unexpected memory leak in hlo_graph_dumper_test.
Dimitris Vardoulakis [Mon, 30 Apr 2018 21:28:46 +0000 (14:28 -0700)]
[TF:XLA] Fix some unexpected memory leak in hlo_graph_dumper_test.

PiperOrigin-RevId: 194845792

6 years agoRemoving an obsolete TODO
Petros Mol [Mon, 30 Apr 2018 21:26:08 +0000 (14:26 -0700)]
Removing an obsolete TODO

PiperOrigin-RevId: 194845376

6 years agoPush down const inputs into the function of specialized functions.
A. Unique TensorFlower [Mon, 30 Apr 2018 21:14:43 +0000 (14:14 -0700)]
Push down const inputs into the function of specialized functions.

PiperOrigin-RevId: 194843380

6 years ago[tf.data] Adding support for `tf.SparseTensor` into `tf.contrib.data.scan()`
Jiri Simsa [Mon, 30 Apr 2018 21:08:29 +0000 (14:08 -0700)]
[tf.data] Adding support for `tf.SparseTensor` into `tf.contrib.data.scan()`

PiperOrigin-RevId: 194842266

6 years agoExtend SDCAOptimizer functionality to prune negative indices (the default value for...
A. Unique TensorFlower [Mon, 30 Apr 2018 20:51:34 +0000 (13:51 -0700)]
Extend SDCAOptimizer functionality to prune negative indices (the default value for OOV with tf.feature_column.FeatureColumn, sparse / categorical).

PiperOrigin-RevId: 194839178

6 years agoFix a bug in profiler.
Shashi Shekhar [Mon, 30 Apr 2018 20:50:17 +0000 (13:50 -0700)]
Fix a bug in profiler.

PiperOrigin-RevId: 194838948

6 years agoCleanup handling of non-Tensor valued event_ndims in Bijector.
Joshua V. Dillon [Mon, 30 Apr 2018 20:34:46 +0000 (13:34 -0700)]
Cleanup handling of non-Tensor valued event_ndims in Bijector.

PiperOrigin-RevId: 194836408

6 years agoFix device assignment in xla/service/service.cc to build the assignment based on
HyoukJoong Lee [Mon, 30 Apr 2018 19:49:33 +0000 (12:49 -0700)]
Fix device assignment in xla/service/service.cc to build the assignment based on
the provided device handles rather than using the default assignment.

PiperOrigin-RevId: 194829761

6 years agoFix typos in tf.GradientTape documentation.
Tom Hennigan [Mon, 30 Apr 2018 19:47:35 +0000 (12:47 -0700)]
Fix typos in tf.GradientTape documentation.

PiperOrigin-RevId: 194829506

6 years agoWhen a mirrored variable is fetched in cross-tower mode, fetch its primary variable.
Igor Saprykin [Mon, 30 Apr 2018 19:41:12 +0000 (12:41 -0700)]
When a mirrored variable is fetched in cross-tower mode, fetch its primary variable.

This prevents errors like
ValueError: Fetch argument MirroredVariable({'/job:localhost/replica:0/task:0/device:GPU:0': <tf.Variable 'global_step:0' shape=() dtype=int64>, '/job:localhost/replica:0/task:0/device:GPU:1': <tf.Variable 'global_step/replica_1:0' shape=() dtype=int64>}) cannot be interpreted as a Tensor. (Device /job:localhost/replica:0/task:0/device:CPU:0 not found in ['/job:localhost/replica:0/task:0/device:GPU:0', '/job:localhost/replica:0/task:0/device:GPU:1'] (current device ))

I ran distribute/examples/resnet with and without the change and it fixed the problem.

PiperOrigin-RevId: 194828672

6 years ago[TF:XLA] Bump open source llvm revision to r331173
Sanjoy Das [Mon, 30 Apr 2018 19:33:21 +0000 (12:33 -0700)]
[TF:XLA] Bump open source llvm revision to r331173

PiperOrigin-RevId: 194827639

6 years agoUse the default rewriter config instead of a custom one
Benoit Steiner [Mon, 30 Apr 2018 19:13:00 +0000 (12:13 -0700)]
Use the default rewriter config instead of a custom one

PiperOrigin-RevId: 194824761

6 years agoFix bugs in AssignOp:
A. Unique TensorFlower [Mon, 30 Apr 2018 19:01:35 +0000 (12:01 -0700)]
Fix bugs in AssignOp:
 1. Releasing the unique_ptr would "leak" a TensorBuffer refcount.
 2. The output shape is defined by rhs, not lhs.

PiperOrigin-RevId: 194822802

6 years ago-Miscellaneous code clean-up
A. Unique TensorFlower [Mon, 30 Apr 2018 18:51:03 +0000 (11:51 -0700)]
-Miscellaneous code clean-up

PiperOrigin-RevId: 194821201

6 years agoAdd --keep_going flag to bazel query in pip_smoke_test to bypass bazel query cannot...
Yifei Feng [Mon, 30 Apr 2018 18:26:52 +0000 (11:26 -0700)]
Add --keep_going flag to bazel query in pip_smoke_test to bypass bazel query cannot handle select statement.

PiperOrigin-RevId: 194816816