platform/upstream/tensorflow.git
6 years agoImprovements to util/nest.py and data/util/nest.py
Akshay Modi [Tue, 22 May 2018 01:53:54 +0000 (18:53 -0700)]
Improvements to util/nest.py and data/util/nest.py

Changes:
- Add a cache for type -> is_sequence to speed up Flatten/IsSequence
- Update data/util/nest.py flatten to use C Flatten

Before:
entry {
  name: "EagerLinearRegressionBenchmark.eager_train_cpu"
  iters: 2000
  wall_time: 1.91852378845
  extras {
    key: "examples_per_sec"
    value {
      double_value: 66717.9634521
    }
  }
}

After:
entry {
  name: "EagerLinearRegressionBenchmark.eager_train_cpu"
  iters: 2000
  wall_time: 1.74479198456
  extras {
    key: "examples_per_sec"
    value {
      double_value: 73361.1806638
    }
  }
}
PiperOrigin-RevId: 197497854

6 years agoAdds support for specifying a discovery_service_url (via either a parameter or an...
Frank Chen [Tue, 22 May 2018 01:14:30 +0000 (18:14 -0700)]
Adds support for specifying a discovery_service_url (via either a parameter or an environment variable) within TPUClusterResolver

PiperOrigin-RevId: 197494335

6 years agoSplit generated_examples test into multiple test targets
Austin Anderson [Tue, 22 May 2018 00:45:22 +0000 (17:45 -0700)]
Split generated_examples test into multiple test targets

PiperOrigin-RevId: 197490872

6 years agoIntroduce an option to allocate CUDA unified memory
Smit Hinsu [Tue, 22 May 2018 00:42:15 +0000 (17:42 -0700)]
Introduce an option to allocate CUDA unified memory

PiperOrigin-RevId: 197490523

6 years ago[XLA] Two minor style-guide fixups.
Justin Lebar [Tue, 22 May 2018 00:34:56 +0000 (17:34 -0700)]
[XLA] Two minor style-guide fixups.

- Fix TODO(b/123) style.
- Use a value type rather than an rvalue reference for a "sink" param.

PiperOrigin-RevId: 197489597

6 years agoMake the quantize_and_dequantize op use the full quantized range when possible.
A. Unique TensorFlower [Tue, 22 May 2018 00:18:06 +0000 (17:18 -0700)]
Make the quantize_and_dequantize op use the full quantized range when possible.

PiperOrigin-RevId: 197487461

6 years agoImproves documentation of labels and logits arguments in hinge loss methods .
Petros Mol [Tue, 22 May 2018 00:15:39 +0000 (17:15 -0700)]
Improves documentation of labels and logits arguments in hinge loss methods .

PiperOrigin-RevId: 197487120

6 years agoSupports initializing an Interpreter with a direct ByteBuffer of nativeOrder()
A. Unique TensorFlower [Tue, 22 May 2018 00:03:40 +0000 (17:03 -0700)]
Supports initializing an Interpreter with a direct ByteBuffer of nativeOrder()
that contains bytes content of a valid tflite model.

PiperOrigin-RevId: 197485253

6 years agoEnsure that saving/restoring iterator in CheckpointInputPipelineHook is performed...
Saurabh Saxena [Mon, 21 May 2018 23:43:53 +0000 (16:43 -0700)]
Ensure that saving/restoring iterator in CheckpointInputPipelineHook is performed *after* the _DatasetInitializerHook has been run.
In the TPUEstimator the _DatasetInitializerHook is present in the
EstimatorSpec.training_hooks. Since these are executed after the `hooks`
passed to Estimator.train the input pipeline checkpointing hook fails
since it finds an uninitialized iterator.

PiperOrigin-RevId: 197482609

6 years agoFixes issue with gradient tape when asking for the gradient of an intermediate tensor.
Alexandre Passos [Mon, 21 May 2018 23:37:17 +0000 (16:37 -0700)]
Fixes issue with gradient tape when asking for the gradient of an intermediate tensor.

PiperOrigin-RevId: 197481473

6 years agoImprove error message in tensor.cc when IsAligned() test fails
A. Unique TensorFlower [Mon, 21 May 2018 23:30:42 +0000 (16:30 -0700)]
Improve error message in tensor.cc when IsAligned() test fails
by logging offending ptr value.

PiperOrigin-RevId: 197480534

6 years agoSupport a better interface for the single option case in combinations.py.
Igor Saprykin [Mon, 21 May 2018 23:26:11 +0000 (16:26 -0700)]
Support a better interface for the single option case in combinations.py.

If there's only one combination for combination-based tests, it doesn't have to
be a list.

PiperOrigin-RevId: 197479773

6 years agoAdd arithmetic optimizer stage that removes LogicalNot that takes a comparison as...
A. Unique TensorFlower [Mon, 21 May 2018 23:14:10 +0000 (16:14 -0700)]
Add arithmetic optimizer stage that removes LogicalNot that takes a comparison as input, i.e.

!(a == b)  =>  a != b
!(a != b)  =>  a == b
!(a < b)   =>  a >= b
!(a <= b)  =>  a > b
!(a > b)   =>  a <= b
!(a >= b)  =>  a < b

PiperOrigin-RevId: 197477959

6 years agoExpose partition_strategy option in embedding_lookup_unique
A. Unique TensorFlower [Mon, 21 May 2018 23:13:28 +0000 (16:13 -0700)]
Expose partition_strategy option in embedding_lookup_unique

PiperOrigin-RevId: 197477853

6 years agoOptimize more reductions
Benoit Steiner [Mon, 21 May 2018 23:02:33 +0000 (16:02 -0700)]
Optimize more reductions

PiperOrigin-RevId: 197476067

6 years agoInternal Change.
Michael Case [Mon, 21 May 2018 22:55:46 +0000 (15:55 -0700)]
Internal Change.

PiperOrigin-RevId: 197475076

6 years agoExtract out a MatrixMatrixBlockPanelEmitter::Dimensions struct; NFC
Sanjoy Das [Mon, 21 May 2018 22:49:14 +0000 (15:49 -0700)]
Extract out a MatrixMatrixBlockPanelEmitter::Dimensions struct; NFC

This gives me a convenient place to note that the m/k/n here are not the m/k/n
for the entire GEMM.  I didn't rename m/k/n to mc/kc/nr since the latter seems
somewhat redundant to me -- we could read 'c as 'column' and 'r' as 'row', but
that's the only possibility?

This refactoring will also be useful when implementing GEPP on top of GEBP.

PiperOrigin-RevId: 197474137

6 years agoRemove object-based checkpointing probes from Python 3 tf.train.Saver "name not found...
Allen Lavoie [Mon, 21 May 2018 22:43:20 +0000 (15:43 -0700)]
Remove object-based checkpointing probes from Python 3 tf.train.Saver "name not found" stack traces

PiperOrigin-RevId: 197473101

6 years agoDisable flaky batch_dataset_op_test
Jiri Simsa [Mon, 21 May 2018 22:32:45 +0000 (15:32 -0700)]
Disable flaky batch_dataset_op_test

PiperOrigin-RevId: 197471172

6 years agoAllow using DNN to only train the embeddings and using the tree model for the final...
A. Unique TensorFlower [Mon, 21 May 2018 21:47:37 +0000 (14:47 -0700)]
Allow using DNN to only train the embeddings and using the tree model for the final prediction.

PiperOrigin-RevId: 197462585

6 years ago[TF:XLA] Delete cumulative_total_size to simplify the DFS scheduler.
Dimitris Vardoulakis [Mon, 21 May 2018 21:25:04 +0000 (14:25 -0700)]
[TF:XLA] Delete cumulative_total_size to simplify the DFS scheduler.
It's unclear why we would assign cumulative_total_size as the total size of a single HLO, and deleting it doesn't make a difference in practice.

PiperOrigin-RevId: 197458260

6 years agoAlways enter the handle graph before calling convert_to_tensor in resource variables.
Alexandre Passos [Mon, 21 May 2018 20:00:20 +0000 (13:00 -0700)]
Always enter the handle graph before calling convert_to_tensor in resource variables.

This mimics the behavior of ref variable's assign which converts to tensor in the
right graph inside op_def_lib.apply_op.

PiperOrigin-RevId: 197441989

6 years agoTurn on dead branch elimination, shape optimization, and remapping by default
Benoit Steiner [Mon, 21 May 2018 19:43:52 +0000 (12:43 -0700)]
Turn on dead branch elimination, shape optimization, and remapping by default

PiperOrigin-RevId: 197439191

6 years agoOptimize multiplications by constants in more cases.
Benoit Steiner [Mon, 21 May 2018 18:12:55 +0000 (11:12 -0700)]
Optimize multiplications by constants in more cases.

PiperOrigin-RevId: 197422256

6 years agoAdd a kernel usable as a GEBP inner loop for an LLVM IR GEMM
Sanjoy Das [Mon, 21 May 2018 18:11:48 +0000 (11:11 -0700)]
Add a kernel usable as a GEBP inner loop for an LLVM IR GEMM

This is not used in any real code path, but I've added an escape hatch that runs
regular matrix multiplies through this kernel for testing purposes.

As far as I can tell this is functionally correct, but I don't yet have a proper
apples-to-apples performance comparison -- that'll have to wait till the
implementation is complete.

PiperOrigin-RevId: 197422075

6 years agoAutomated g4 rollback of changelist 197226707
A. Unique TensorFlower [Mon, 21 May 2018 17:34:42 +0000 (10:34 -0700)]
Automated g4 rollback of changelist 197226707

PiperOrigin-RevId: 197415745

6 years agoEnhance error reporting.
A. Unique TensorFlower [Mon, 21 May 2018 14:00:53 +0000 (07:00 -0700)]
Enhance error reporting.

PiperOrigin-RevId: 197390052

6 years agoExtend optimization of Slice operator to StridedSlice.
A. Unique TensorFlower [Mon, 21 May 2018 10:52:25 +0000 (03:52 -0700)]
Extend optimization of Slice operator to StridedSlice.

PiperOrigin-RevId: 197376217

6 years ago[XLA] Fix memory leak in ScopedShapedBuffer's move-assignment operator.
Justin Lebar [Sun, 20 May 2018 21:50:49 +0000 (14:50 -0700)]
[XLA] Fix memory leak in ScopedShapedBuffer's move-assignment operator.

PiperOrigin-RevId: 197331197

6 years agoFixed Pi cross compilation
Pete Warden [Sun, 20 May 2018 21:45:10 +0000 (14:45 -0700)]
Fixed Pi cross compilation

PiperOrigin-RevId: 197331034

6 years agoRollforward of CL 197167501, without enabling CUDNN_FFT_TILING_FORWARD because that...
A. Unique TensorFlower [Sun, 20 May 2018 20:14:55 +0000 (13:14 -0700)]
Rollforward of CL 197167501, without enabling CUDNN_FFT_TILING_FORWARD because that breaks XLA tests.

PiperOrigin-RevId: 197328103

6 years ago[XLA] Consistently apply gpu-max-kernel-unroll-factor = 1 in HloTestBase.
Justin Lebar [Sat, 19 May 2018 07:37:18 +0000 (00:37 -0700)]
[XLA] Consistently apply gpu-max-kernel-unroll-factor = 1 in HloTestBase.

Previously we set it in CreateNewModule but not in
GetDebugOptionsFromFlags(), which seems wrong.

PiperOrigin-RevId: 197247863

6 years agoFix compile error due to missing default case in switch statement.
A. Unique TensorFlower [Sat, 19 May 2018 04:44:09 +0000 (21:44 -0700)]
Fix compile error due to missing default case in switch statement.

PiperOrigin-RevId: 197240781

6 years agoAdd a method to list op names in an ApiDefMap.
A. Unique TensorFlower [Sat, 19 May 2018 02:25:41 +0000 (19:25 -0700)]
Add a method to list op names in an ApiDefMap.

PiperOrigin-RevId: 197234301

6 years agoAdd 'src_graph' argument to gradients_impl._GradientsHelper.
Skye Wanderman-Milne [Sat, 19 May 2018 01:29:54 +0000 (18:29 -0700)]
Add 'src_graph' argument to gradients_impl._GradientsHelper.

This allows the gradient graph to be built in a _FuncGraph separate
from the forward graph (a _FuncGraph is necessary to capture needed
tensors from the forward graph. It's up to the capturing logic what
how to feed the forward tensors to the gradient graph).

PiperOrigin-RevId: 197230736

6 years agoDelete unused and buggy code.
A. Unique TensorFlower [Sat, 19 May 2018 01:18:21 +0000 (18:18 -0700)]
Delete unused and buggy code.

(Note the mistaken argument order of the string constructors.)

PiperOrigin-RevId: 197229855

6 years ago[XLA] Regression test for missing virtual destructor.
Chris Leary [Sat, 19 May 2018 00:49:42 +0000 (17:49 -0700)]
[XLA] Regression test for missing virtual destructor.

PiperOrigin-RevId: 197227263

6 years agoMake the quantize_and_dequantize op use the full quantized range when possible.
A. Unique TensorFlower [Sat, 19 May 2018 00:43:46 +0000 (17:43 -0700)]
Make the quantize_and_dequantize op use the full quantized range when possible.

PiperOrigin-RevId: 197226707

6 years agoAutomated g4 rollback of changelist 197070234
Igor Saprykin [Fri, 18 May 2018 23:33:19 +0000 (16:33 -0700)]
Automated g4 rollback of changelist 197070234

PiperOrigin-RevId: 197218170

6 years agoImprove import error messages.
A. Unique TensorFlower [Fri, 18 May 2018 23:28:59 +0000 (16:28 -0700)]
Improve import error messages.

PiperOrigin-RevId: 197217638

6 years agoSkip tests that require unavailable hardware when not using DistributionStrategy
Igor Saprykin [Fri, 18 May 2018 22:49:01 +0000 (15:49 -0700)]
Skip tests that require unavailable hardware when not using DistributionStrategy

Right now combinations.py skips tests that do not have the hardware that's
requried by the DistributionStrategy instance that is used in that test.  After
this change, the user can trigger such a behavior even when they are not using
DistributionStrategy.

Two new special arguments are added: "required_tpu" and "required_gpus".

PiperOrigin-RevId: 197212466

6 years agoCorrect dtype in resource_strided_slice_assign
Alexandre Passos [Fri, 18 May 2018 22:33:00 +0000 (15:33 -0700)]
Correct dtype in resource_strided_slice_assign

PiperOrigin-RevId: 197210273

6 years agoRemove unused BUILD dependencies
A. Unique TensorFlower [Fri, 18 May 2018 22:15:06 +0000 (15:15 -0700)]
Remove unused BUILD dependencies

PiperOrigin-RevId: 197207799

6 years agoFixed an issue when add context into params.
Jianwei Xie [Fri, 18 May 2018 21:59:01 +0000 (14:59 -0700)]
Fixed an issue when add context into params.

PiperOrigin-RevId: 197205327

6 years agoRevert a change to fix TFLite iOS demo app.
Yu-Cheng Ling [Fri, 18 May 2018 20:12:41 +0000 (13:12 -0700)]
Revert a change to fix TFLite iOS demo app.
It depends on released CocoaPod.

PiperOrigin-RevId: 197189734

6 years agoThe quantizer should match the patterns for partition variables.
Suharsh Sivakumar [Fri, 18 May 2018 20:07:18 +0000 (13:07 -0700)]
The quantizer should match the patterns for partition variables.

PiperOrigin-RevId: 197189118

6 years ago[dataset]: Remove extra `repeat` in the docstring for `shard`.
A. Unique TensorFlower [Fri, 18 May 2018 19:41:20 +0000 (12:41 -0700)]
[dataset]: Remove extra `repeat` in the docstring for `shard`.

PiperOrigin-RevId: 197185877

6 years ago[TF:XLA] Delete the reverseDFS scheduler. With recent improvements to the List schedu...
Dimitris Vardoulakis [Fri, 18 May 2018 19:24:20 +0000 (12:24 -0700)]
[TF:XLA] Delete the reverseDFS scheduler. With recent improvements to the List scheduler, reverseDFS is no longer needed.

PiperOrigin-RevId: 197183727

6 years agoExpose read-only versions of input tensors in tflite.
A. Unique TensorFlower [Fri, 18 May 2018 19:21:44 +0000 (12:21 -0700)]
Expose read-only versions of input tensors in tflite.

PiperOrigin-RevId: 197183345

6 years agoEnable `SeedStream` construction from other `SeedStream` instances.
Joshua V. Dillon [Fri, 18 May 2018 19:17:05 +0000 (12:17 -0700)]
Enable `SeedStream` construction from other `SeedStream` instances.

PiperOrigin-RevId: 197182686

6 years agoAdd eager tests for automatic tensor flattening
Igor Ganichev [Fri, 18 May 2018 19:14:47 +0000 (12:14 -0700)]
Add eager tests for automatic tensor flattening

PiperOrigin-RevId: 197182339

6 years agoAdd an in-memory evaluator for Estimator. It will run evaluation without a checkpoint...
Mustafa Ispir [Fri, 18 May 2018 19:09:55 +0000 (12:09 -0700)]
Add an in-memory evaluator for Estimator. It will run evaluation without a checkpoint. This will let user get evaluation metrics on more steps without saving.

  Example:

  ```python
  def train_input_fn():
    ...
    return train_dataset

  def eval_input_fn():
    ...
    return eval_dataset

  estimator = tf.estimator.DNNClassifier(...)

  evaluator = tf.contrib.estimator.InMemoryEvaluatorHook(
      estimator, eval_input_fn)
  estimator.train(train_input_fn, hooks=[evaluator])
  ```

PiperOrigin-RevId: 197181726

6 years agoWhen converting an unsupported op in TOCO, we can possibly infer the output type...
A. Unique TensorFlower [Fri, 18 May 2018 19:08:32 +0000 (12:08 -0700)]
When converting an unsupported op in TOCO, we can possibly infer the output type from an attribute named Tout (this works, e.g., for RandomUniformInt).

PiperOrigin-RevId: 197181552

6 years ago[TF:XLA] Bump open source llvm revision to r332697
Sanjoy Das [Fri, 18 May 2018 18:56:28 +0000 (11:56 -0700)]
[TF:XLA] Bump open source llvm revision to r332697

PiperOrigin-RevId: 197179581

6 years agoboosted_trees: allow labels to have rank 1 as other estimators.
Younghee Kwon [Fri, 18 May 2018 18:46:54 +0000 (11:46 -0700)]
boosted_trees: allow labels to have rank 1 as other estimators.

PiperOrigin-RevId: 197178169

6 years ago[TF:XLA] Remove underscore prefix from XlaLaunch operator.
Peter Hawkins [Fri, 18 May 2018 18:43:25 +0000 (11:43 -0700)]
[TF:XLA] Remove underscore prefix from XlaLaunch operator.
Minor fixes to comments.

PiperOrigin-RevId: 197177582

6 years agoValidate the file signatures before issusing a content read in GCS. Remove the
Ruoxin Sang [Fri, 18 May 2018 18:28:18 +0000 (11:28 -0700)]
Validate the file signatures before issusing a content read in GCS. Remove the
checkpoint hack. Enable the stat cache by default, as the block cache has
already been enabled by default. Set the default stat cache max_age to 5s,
which is the same in the Cloud TPU server.

PiperOrigin-RevId: 197175258

6 years agoAutomated g4 rollback of changelist 197118212
A. Unique TensorFlower [Fri, 18 May 2018 17:42:50 +0000 (10:42 -0700)]
Automated g4 rollback of changelist 197118212

PiperOrigin-RevId: 197167501

6 years agoOp version: Populate version in Toco TFLite exporter
Yu-Cheng Ling [Fri, 18 May 2018 17:39:45 +0000 (10:39 -0700)]
Op version: Populate version in Toco TFLite exporter

PiperOrigin-RevId: 197166962

6 years ago[TF:XLA] Allow the HloEvaluator to be changed for the HLO interpreter.
Nick Desaulniers [Fri, 18 May 2018 17:23:34 +0000 (10:23 -0700)]
[TF:XLA] Allow the HloEvaluator to be changed for the HLO interpreter.

PiperOrigin-RevId: 197164443

6 years ago[tf.data] Changed internal implementation of `make_csv_dataset`, and removed argument...
Rachel Lim [Fri, 18 May 2018 17:21:59 +0000 (10:21 -0700)]
[tf.data] Changed internal implementation of `make_csv_dataset`, and removed arguments `default_float_type` and `comment` from `make_csv_dataset`

PiperOrigin-RevId: 197164167

6 years agoImprove TFLite generated example test speed.
Yu-Cheng Ling [Fri, 18 May 2018 17:12:37 +0000 (10:12 -0700)]
Improve TFLite generated example test speed.

PiperOrigin-RevId: 197162686

6 years agoUpdate the docstring on function.Defun to reflect current graph/session freezing...
Brian Patton [Fri, 18 May 2018 15:38:40 +0000 (08:38 -0700)]
Update the docstring on function.Defun to reflect current graph/session freezing behavior.

PiperOrigin-RevId: 197150790

6 years agoRestructure BUILD rules to be modularly correct
A. Unique TensorFlower [Fri, 18 May 2018 14:52:32 +0000 (07:52 -0700)]
Restructure BUILD rules to be modularly correct

PiperOrigin-RevId: 197145545

6 years agoMark link-time dependency library as alwayslink=1.
A. Unique TensorFlower [Fri, 18 May 2018 14:49:06 +0000 (07:49 -0700)]
Mark link-time dependency library as alwayslink=1.

PiperOrigin-RevId: 197145205

6 years agoModify PadInsertion pass so that it matches other passes.
A. Unique TensorFlower [Fri, 18 May 2018 14:47:41 +0000 (07:47 -0700)]
Modify PadInsertion pass so that it matches other passes.

Currently, PadInsertion only iterates over the instructions in the
entry_computation. Other passes iterate over MakeNonfusionComputations.
When we run on HloSnapshots derived from TPU benchmarks, this makes a
difference, because it seems none of the convolutions are inside the entry
computation.

PiperOrigin-RevId: 197145067

6 years agoDropping support for CUDA < 8.
A. Unique TensorFlower [Fri, 18 May 2018 13:31:20 +0000 (06:31 -0700)]
Dropping support for CUDA < 8.

PiperOrigin-RevId: 197137612

6 years agoExtracts the following optimizations into methods:
A. Unique TensorFlower [Fri, 18 May 2018 13:27:13 +0000 (06:27 -0700)]
Extracts the following optimizations into methods:

SimplifyArithmeticOperations
ReduceDivToReciprocalMul

PiperOrigin-RevId: 197137281

6 years agoUpdate downloadable clang to a new revision
Ilya Biryukov [Fri, 18 May 2018 10:14:27 +0000 (03:14 -0700)]
Update downloadable clang to a new revision

PiperOrigin-RevId: 197121447

6 years agoDropping support for cuDNN < 6.
A. Unique TensorFlower [Fri, 18 May 2018 09:37:52 +0000 (02:37 -0700)]
Dropping support for cuDNN < 6.
Enable CUDNN_FFT_TILING_FORWARD for cuDNN >= 7.

PiperOrigin-RevId: 197118212

6 years agoMove Keras code out of _impl folder and remove API files.
Pavithra Vijay [Fri, 18 May 2018 04:36:39 +0000 (21:36 -0700)]
Move Keras code out of _impl folder and remove API files.

PiperOrigin-RevId: 197097430

6 years ago[XLA] Clamp indices in DynamicSlice and DynamicUpdateSlice instead of wrapping.
Michael Kuperstein [Fri, 18 May 2018 01:09:45 +0000 (18:09 -0700)]
[XLA] Clamp indices in DynamicSlice and DynamicUpdateSlice instead of wrapping.

This implements the following index clamping in all backends (CPU, GPU, Interpreter):

for(int i = 0; i < rank; ++i)
  start_index[i] = clamp(start_index[i], 0, output_dim_size[i] - update_dim_size[i])

Which ensures the slice (or update region) is always inbounds w.r.t the input.

PiperOrigin-RevId: 197082276

6 years agoHandle HloInstruction::ToString() when literal is missing.
A. Unique TensorFlower [Fri, 18 May 2018 00:40:47 +0000 (17:40 -0700)]
Handle HloInstruction::ToString() when literal is missing.

PiperOrigin-RevId: 197079144

6 years agomarkdown fixes
Mark Daoust [Fri, 18 May 2018 00:25:47 +0000 (17:25 -0700)]
markdown fixes

PiperOrigin-RevId: 197077588

6 years agoDo not force default layout when there is no need to.
A. Unique TensorFlower [Fri, 18 May 2018 00:11:47 +0000 (17:11 -0700)]
Do not force default layout when there is no need to.
Allow the inner computations to negotiate a root and parameter layouts different from default.
END_PUBLIC

RELNOTES: n/a

---------------------
BEGIN_PUBLIC
Automated g4 rollback of changelist 194293187

PiperOrigin-RevId: 197076025

6 years ago Add NCHW_VECT_W tensor format.
A. Unique TensorFlower [Thu, 17 May 2018 23:59:50 +0000 (16:59 -0700)]
  Add NCHW_VECT_W tensor format.

PiperOrigin-RevId: 197074411

6 years agoEnable optimizations submitted during pre-NIPS freeze:
A. Unique TensorFlower [Thu, 17 May 2018 23:52:31 +0000 (16:52 -0700)]
Enable optimizations submitted during pre-NIPS freeze:
  * Snapshot to Identity promotion.
  * Removal of transposes pairs separated by chain.

PiperOrigin-RevId: 197073602

6 years agoboosted_trees: fixed the crash when eval/prediction is attempted with the initial...
Younghee Kwon [Thu, 17 May 2018 23:52:17 +0000 (16:52 -0700)]
boosted_trees: fixed the crash when eval/prediction is attempted with the initial checkpoints (at step 0) before training.

PiperOrigin-RevId: 197073582

6 years agoMisc changes found when debugging an unrelated problem.
Akshay Modi [Thu, 17 May 2018 23:52:07 +0000 (16:52 -0700)]
Misc changes found when debugging an unrelated problem.

- (pywrap_tfe.i) Improve error message for better debugging TFE_Py_Execute failures.
- (pywrap_tfe_src.cc) Accept _value of None
- (base.i) Remove unnecessary temporary

PiperOrigin-RevId: 197073571

6 years agoMake V1 metrics distributed-aware. Also fix a bug where assertAllClose
A. Unique TensorFlower [Thu, 17 May 2018 23:26:24 +0000 (16:26 -0700)]
Make V1 metrics distributed-aware. Also fix a bug where assertAllClose
was sometimes ignoring its `msg` parameter.

PiperOrigin-RevId: 197070234

6 years ago[XLA] Redesign: delete xla::Computation.
A. Unique TensorFlower [Thu, 17 May 2018 23:23:33 +0000 (16:23 -0700)]
[XLA] Redesign: delete xla::Computation.

PiperOrigin-RevId: 197069851

6 years agoDon't add branch prediction hints when compiling under nvcc.
Craig Citro [Thu, 17 May 2018 23:06:21 +0000 (16:06 -0700)]
Don't add branch prediction hints when compiling under nvcc.

As seen in #19203, the `__builtin_expect` compiler builtin isn't recognized as
a builtin in nvcc8, leading to compilation failures of the form

    ./tensorflow/core/kernels/gather_functor_gpu.cu.h(57): error: calling a __host__ function("__builtin_
expect") from a __global__ function("tensorflow::GatherOpKernel< ::Eigen::half, int, (bool)1> ") is n
ot allowed

when attempting to build TensorFlow.

This change fixes things by adding an additional check for `__NVCC__`, and
avoiding any branch prediction hints in that case.

PiperOrigin-RevId: 197067418

6 years agofixing some incorrect documentation in test cases.
Olivia Nordquist [Thu, 17 May 2018 22:49:12 +0000 (15:49 -0700)]
fixing some incorrect documentation in test cases.

PiperOrigin-RevId: 197064874

6 years agoIntroduce an "indexed array" analysis
Sanjoy Das [Thu, 17 May 2018 22:47:30 +0000 (15:47 -0700)]
Introduce an "indexed array" analysis

Context: we want to optimize computations hanging off of a embedding lookup from
a constant array.  For instance, consider:

  embedding = gather from a constant array using non-constant indices
  embedding_reshaped = reshape embedding
  embedding_reshaped_transposed = transpose embedding_reshaped
  result = dot(embedding_reshaped_transposed, constant)

In the graph above, depending on how the details work out, we may be able to
fold `result` into a gather from a precomputed constant array.  However, it is
inconvenient to get there by incremental rewrites -- it is probably not
profitable to rewrite embedding_reshaped or embedding_reshaped_transposed [0] as
embedding lookups but we get to "see" that the dot can be rewritten only after
rewriting the reshape and the transpose.

This analysis aims to make the optimization above more straightforward by
allowing a transformation pass (that uses this analysis) to query the analysis
to see if if `result` _can_ be represented as an embedding lookup.  If yes it
can then apply some profitability heuristics to decide if it is worth it to
rewrite it as one.  This suggested workflow gives us separation of concerns (the
legality of the rewrite is computed separately from its profitability) and, more
importantly, lets us "look ahead" and analyze the dot without rewriting its
operands.

The implementation is far from complete (most of the interesting bits are TODO)
but I wanted to get an early design review before I spent too much time on this.

[0] Under the assumption that transposing or reshaping are not expensive enough
to pay the price of keeping around a new potentially large constant (in
particular, some of these may have been equivalent to free bitcasts).

PiperOrigin-RevId: 197064648

6 years ago Add more test cases in function_test
Youlong Cheng [Thu, 17 May 2018 22:47:24 +0000 (15:47 -0700)]
  Add more test cases in function_test

PiperOrigin-RevId: 197064629

6 years agoDelete unused proto schema "graph_explorer.proto".
A. Unique TensorFlower [Thu, 17 May 2018 22:34:00 +0000 (15:34 -0700)]
Delete unused proto schema "graph_explorer.proto".

PiperOrigin-RevId: 197062616

6 years agoSupport combinations stored in a global variable in combinations.py-based tests.
Igor Saprykin [Thu, 17 May 2018 22:29:03 +0000 (15:29 -0700)]
Support combinations stored in a global variable in combinations.py-based tests.

The user's input is modified to give the test a better name.  If the user stores combinations in a variable and applies those combinations to more than one test, then the test case name will be a concatenation of of the names of the previous test cases.

PiperOrigin-RevId: 197061902

6 years ago[XLA] Use Expm1 in Elu/Selu
David Majnemer [Thu, 17 May 2018 22:28:33 +0000 (15:28 -0700)]
[XLA] Use Expm1 in Elu/Selu

exp(x) - 1 is best executed using the composed Expm1 operation as it is better
behaved when exp(x) is near 1.

PiperOrigin-RevId: 197061826

6 years agoMove runtime.{h,cc,_test.cc} into core/common_runtime/eager as attr_builder
Akshay Modi [Thu, 17 May 2018 22:28:09 +0000 (15:28 -0700)]
Move runtime.{h,cc,_test.cc} into core/common_runtime/eager as attr_builder

I'm not familiar with how the CMake build is set up but from the description
of the problem the dependency graph is coarser than Bazel's, so I think this
should fix #18925.

PiperOrigin-RevId: 197061764

6 years agoClean up CFG test suite
A. Unique TensorFlower [Thu, 17 May 2018 22:10:25 +0000 (15:10 -0700)]
Clean up CFG test suite

PiperOrigin-RevId: 197059149

6 years ago[XLA] Remove eq_shapes from Identical SlowPath since it is already checked in
Blake Hechtman [Thu, 17 May 2018 22:08:33 +0000 (15:08 -0700)]
[XLA] Remove eq_shapes from Identical SlowPath since it is already checked in
Identical.

PiperOrigin-RevId: 197058888

6 years agoSupport Bool in Cast (TFLite)
Yu-Cheng Ling [Thu, 17 May 2018 21:58:04 +0000 (14:58 -0700)]
Support Bool in Cast (TFLite)

PiperOrigin-RevId: 197056978

6 years agoAdded CSV parsing to the tf.data programmers guide
Rachel Lim [Thu, 17 May 2018 21:37:34 +0000 (14:37 -0700)]
Added CSV parsing to the tf.data programmers guide
Relevant to #278.

PiperOrigin-RevId: 197053723

6 years agoBasic usability fixes for RNNCell wrappers
Allen Lavoie [Thu, 17 May 2018 21:32:47 +0000 (14:32 -0700)]
Basic usability fixes for RNNCell wrappers

They weren't calling their parent constructors (for the Keras base Layer), so a bunch of their methods threw odd errors. There may still be issues, but hopefully not so blatent.

Fixes #19208. For real this time.

PiperOrigin-RevId: 197052962

6 years agoFix L2Normalization.
A. Unique TensorFlower [Thu, 17 May 2018 21:31:29 +0000 (14:31 -0700)]
Fix L2Normalization.

PiperOrigin-RevId: 197052728

6 years ago[TF:STREAM_EXECUTOR] move declaration of multi_platform_manager to header
Nick Desaulniers [Thu, 17 May 2018 21:22:49 +0000 (14:22 -0700)]
[TF:STREAM_EXECUTOR] move declaration of multi_platform_manager to header

PiperOrigin-RevId: 197051272

6 years agoAutomated g4 rollback of changelist 197026249
Allen Lavoie [Thu, 17 May 2018 21:11:14 +0000 (14:11 -0700)]
Automated g4 rollback of changelist 197026249

PiperOrigin-RevId: 197049255

6 years ago[TF:XLA] Do not rely on implementation-defined semantics of DynamicSlice.
Michael Kuperstein [Thu, 17 May 2018 20:37:57 +0000 (13:37 -0700)]
[TF:XLA] Do not rely on implementation-defined semantics of DynamicSlice.

ReverseSequence relies on DynamicSlice wrapping around, which is implementation-defined behavior, and is not guaranteed. Pad the input instead.

PiperOrigin-RevId: 197043307

6 years agoAllows users to specify allow_custom_ops when calling tf.contrib.lite.toco_convert().
A. Unique TensorFlower [Thu, 17 May 2018 20:12:51 +0000 (13:12 -0700)]
Allows users to specify allow_custom_ops when calling tf.contrib.lite.toco_convert().

PiperOrigin-RevId: 197039477

6 years agoRemove -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK being added by default to all builds.
Michael Case [Thu, 17 May 2018 20:02:08 +0000 (13:02 -0700)]
Remove -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK being added by default to all builds.

PiperOrigin-RevId: 197037867