platform/upstream/tensorflow.git
6 years agoAdds support for hoisting out common denominator in arithmetic_optimizer
A. Unique TensorFlower [Tue, 10 Apr 2018 18:09:37 +0000 (11:09 -0700)]
Adds support for hoisting out common denominator in arithmetic_optimizer

PiperOrigin-RevId: 192314177

6 years ago[TF:XLA] fix a segfault in MakeFakeArguments, and add a test case.
Nick Desaulniers [Tue, 10 Apr 2018 17:52:15 +0000 (10:52 -0700)]
[TF:XLA] fix a segfault in MakeFakeArguments, and add a test case.

PiperOrigin-RevId: 192310749

6 years agoSimplify test_util.run_in_graph_and_eager_modes
Asim Shankar [Tue, 10 Apr 2018 17:43:14 +0000 (10:43 -0700)]
Simplify test_util.run_in_graph_and_eager_modes

- Get rid of unnecessary options
- Update various resource variable tests so that they correctly exercise the cases where the variables are placed on GPU (these "with tf.device('/cpu:0')" blocks that were added for eager execution are no longer necessary)

PiperOrigin-RevId: 192309109

6 years agoPlace data format op on CPU:0.
Yao Zhang [Tue, 10 Apr 2018 17:07:31 +0000 (10:07 -0700)]
Place data format op on CPU:0.

PiperOrigin-RevId: 192302833

6 years agoFix markdown in a couple of tf.estimator docstrings.
A. Unique TensorFlower [Tue, 10 Apr 2018 16:50:02 +0000 (09:50 -0700)]
Fix markdown in a couple of tf.estimator docstrings.

PiperOrigin-RevId: 192299871

6 years agoRemove manifest_merger from tensorflow_demo. This is an internal-only attribute
A. Unique TensorFlower [Tue, 10 Apr 2018 16:41:45 +0000 (09:41 -0700)]
Remove manifest_merger from tensorflow_demo. This is an internal-only attribute
that is being removed from bazel.

PiperOrigin-RevId: 192298746

6 years agoFix capitalization (on master)
Mark Daoust [Tue, 10 Apr 2018 16:40:25 +0000 (09:40 -0700)]
Fix capitalization (on master)

PiperOrigin-RevId: 192298563

6 years ago[XLA:GPU] Add infrastructure for unrolling kernels to improve bandwidth utilization.
Benjamin Kramer [Tue, 10 Apr 2018 16:26:59 +0000 (09:26 -0700)]
[XLA:GPU] Add infrastructure for unrolling kernels to improve bandwidth utilization.

We often have simple kernels that do very little actual work, duplicating that
can increase the used bandwidth.

This change introduces flags and infrastructure for unrolling kernels, it
doesn't include any cost heuristics and is disabled by default. Based on code
written by Bixia Zheng.

PiperOrigin-RevId: 192296781

6 years agoAdded minimum op, better type support in maximum.
A. Unique TensorFlower [Tue, 10 Apr 2018 15:55:24 +0000 (08:55 -0700)]
Added minimum op, better type support in maximum.

PiperOrigin-RevId: 192292693

6 years agoUpdate document
A. Unique TensorFlower [Tue, 10 Apr 2018 15:51:18 +0000 (08:51 -0700)]
Update document

PiperOrigin-RevId: 192292160

6 years agoSuppress -Wself-assign in self-assignment tests, which triggers in newer clang
A. Unique TensorFlower [Tue, 10 Apr 2018 14:47:14 +0000 (07:47 -0700)]
Suppress -Wself-assign in self-assignment tests, which triggers in newer clang
revisions.

PiperOrigin-RevId: 192284946

6 years ago[XLA] Redesign: implement and test custom call.
A. Unique TensorFlower [Tue, 10 Apr 2018 06:13:11 +0000 (23:13 -0700)]
[XLA] Redesign: implement and test custom call.

PiperOrigin-RevId: 192241311

6 years ago[XLA] Redesign: implement XlaBuilder::IsConstant, XlaBuidler::BuildConstantSubGraph...
A. Unique TensorFlower [Tue, 10 Apr 2018 05:04:04 +0000 (22:04 -0700)]
[XLA] Redesign: implement XlaBuilder::IsConstant, XlaBuidler::BuildConstantSubGraph, and Client::ComputeConstant(XlaComputation...).
- Since the builder no longer holds a client, we moved the ComputeConstant to the client side so that it can communicate with the service side. Now we add XlaBuilder::BuildConstantSubGraph, which is only responsible for building a subgraph that is compile-time constant.
- Before this change, every XlaBuilder has a unique id. Now since it also builds constant subgraph, we give every XlaComputation being built a global unique id, and uniquify instruction names when actually building the XlaComputation.

PiperOrigin-RevId: 192236997

6 years agoImplementation of ArgMax
A. Unique TensorFlower [Tue, 10 Apr 2018 05:01:59 +0000 (22:01 -0700)]
Implementation of ArgMax

PiperOrigin-RevId: 192236845

6 years agoUpdating three tests in constant_folding_test.cc with PlaceHolders Nodes to check...
A. Unique TensorFlower [Tue, 10 Apr 2018 04:36:36 +0000 (21:36 -0700)]
Updating three tests in constant_folding_test.cc with PlaceHolders Nodes to check EvaluateNodes returns the same output for the original and optimized graph

PiperOrigin-RevId: 192235310

6 years agoFix the GCS Kokoro build badge links.
Michael Case [Tue, 10 Apr 2018 03:26:16 +0000 (20:26 -0700)]
Fix the GCS Kokoro build badge links.

The original badges I added were redirected/authenticated links (I think). This
resulted in broken images on the README. These new links should not be
redirected and should just link to the badge images.

PiperOrigin-RevId: 192230689

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Tue, 10 Apr 2018 02:46:01 +0000 (19:46 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 192227995

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Tue, 10 Apr 2018 02:19:38 +0000 (19:19 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 192226063

6 years ago[XLA] Attach a reference client to the client_library_test_base, and implement Comput...
A. Unique TensorFlower [Tue, 10 Apr 2018 02:06:05 +0000 (19:06 -0700)]
[XLA] Attach a reference client to the client_library_test_base, and implement ComputeAndCompare for XlaBuilder.
- In ComputeAndCompare(XlaBuilder..), compute the reference result by executing on the interpreter backend.
- Also migrate some tests to use the new ComputeAndCompare(XlaBuilder..).

PiperOrigin-RevId: 192225152

6 years agoInclude standard headers when libc++ requires them.
A. Unique TensorFlower [Tue, 10 Apr 2018 01:53:22 +0000 (18:53 -0700)]
Include standard headers when libc++ requires them.

PiperOrigin-RevId: 192224104

6 years ago Add the total device time and total host time to tf_op_stats.
A. Unique TensorFlower [Tue, 10 Apr 2018 01:46:09 +0000 (18:46 -0700)]
  Add the total device time and total host time to tf_op_stats.

PiperOrigin-RevId: 192223560

6 years ago[XLA] Redesign: implement fft.
A. Unique TensorFlower [Tue, 10 Apr 2018 01:08:13 +0000 (18:08 -0700)]
[XLA] Redesign: implement fft.

PiperOrigin-RevId: 192220070

6 years ago[tf.data] Add parameter for select_cols in tf.decode_csv for option to parse only...
Rachel Lim [Tue, 10 Apr 2018 01:03:57 +0000 (18:03 -0700)]
[tf.data] Add parameter for select_cols in tf.decode_csv for option to parse only a subset of CSV columns; added same parameter to make_csv_dataset function in tf.contrib.data.

PiperOrigin-RevId: 192219509

6 years agoboosted_trees: early stop hooks are fixed to stop at the right moment
Younghee Kwon [Tue, 10 Apr 2018 00:45:13 +0000 (17:45 -0700)]
boosted_trees: early stop hooks are fixed to stop at the right moment
 by reading tensor values in a separate session after train_op run.
PiperOrigin-RevId: 192217338

6 years agoRemove extra #define EIGEN_USE_THREADS.
Skye Wanderman-Milne [Tue, 10 Apr 2018 00:40:46 +0000 (17:40 -0700)]
Remove extra #define EIGEN_USE_THREADS.

It breaks some builds with
 error: "EIGEN_USE_THREADS" redefined [-Werror]

PiperOrigin-RevId: 192216796

6 years ago[slim] Allow passing timeout_fn to 'evaluation_loop' so that caller can have more...
A. Unique TensorFlower [Tue, 10 Apr 2018 00:36:41 +0000 (17:36 -0700)]
[slim] Allow passing timeout_fn to 'evaluation_loop' so that caller can have more control over what to do if checkpoints_iterator times out.

PiperOrigin-RevId: 192216302

6 years agoDon't fail when running shape inference on a graph that contains functions.
Benoit Steiner [Tue, 10 Apr 2018 00:30:27 +0000 (17:30 -0700)]
Don't fail when running shape inference on a graph that contains functions.

PiperOrigin-RevId: 192215493

6 years agoExport recurrent and its RNN implementation in tf.contrib.
Patrick Nguyen [Mon, 9 Apr 2018 23:55:06 +0000 (16:55 -0700)]
Export recurrent and its RNN implementation in tf.contrib.

PiperOrigin-RevId: 192210794

6 years agoInternal Change
A. Unique TensorFlower [Mon, 9 Apr 2018 23:43:02 +0000 (16:43 -0700)]
Internal Change

PiperOrigin-RevId: 192209093

6 years ago[XLA] Redesign: implement infeed and outfeed.
A. Unique TensorFlower [Mon, 9 Apr 2018 23:24:56 +0000 (16:24 -0700)]
[XLA] Redesign: implement infeed and outfeed.

- XlaBuilder::Infeed is basically ComputationBuilder::Infeed + UserComputation::AddInfeedInstruction + ComputationLowerer::Visit + HloInstruction::CreateInfeed.
- Similar for Outfeed.

PiperOrigin-RevId: 192206502

6 years agoHide slide_dataset from the new API.
Anna R [Mon, 9 Apr 2018 23:09:09 +0000 (16:09 -0700)]
Hide slide_dataset from the new API.

PiperOrigin-RevId: 192204209

6 years agoAdd bitcast-convert support to the evaluator and as a method on Literal.
Mark Heffernan [Mon, 9 Apr 2018 22:22:18 +0000 (15:22 -0700)]
Add bitcast-convert support to the evaluator and as a method on Literal.

PiperOrigin-RevId: 192197163

6 years ago[XLA] Use ThreadPool in a safer way.
Michael Kuperstein [Mon, 9 Apr 2018 22:02:21 +0000 (15:02 -0700)]
[XLA] Use ThreadPool in a safer way.

ThreadPool joins its threads when it is destroyed, and there's no way to explicitly join. This means passing a ThreadPool and then scheduling in the callee is risky.

PiperOrigin-RevId: 192193752

6 years agoDon't run test flaky under TSAN.
A. Unique TensorFlower [Mon, 9 Apr 2018 22:00:17 +0000 (15:00 -0700)]
Don't run test flaky under TSAN.

PiperOrigin-RevId: 192193350

6 years agoAcknowledges tape in graph mode doesn't like unknown shapes
Alexandre Passos [Mon, 9 Apr 2018 21:56:18 +0000 (14:56 -0700)]
Acknowledges tape in graph mode doesn't like unknown shapes

PiperOrigin-RevId: 192192757

6 years agoTweak the context stack so init_scope works with eager Graphs
Allen Lavoie [Mon, 9 Apr 2018 21:52:53 +0000 (14:52 -0700)]
Tweak the context stack so init_scope works with eager Graphs

Previously breaking out into Graphs created with eager execution enabled would
enter the graph but not re-enable eager execution.

PiperOrigin-RevId: 192192109

6 years agoDon't initialize global threadpool in GraphRunner.
Skye Wanderman-Milne [Mon, 9 Apr 2018 21:26:55 +0000 (14:26 -0700)]
Don't initialize global threadpool in GraphRunner.

TF_Graph creates a ShapeRefiner, which in
turn creates a GraphRunner, which prior to this change would eventually create a
LocalDevice that initialized the global eigen threadpool. This prevents
users from specifying a custom number of threads for the pool via a
ConfigProto.

This change introduces a new device class, SingleThreadedCpuDevice, that can
be used for light-weight computations without initializing the threadpool.

Addresses #18300.

PiperOrigin-RevId: 192188031

6 years agoFix GPUDebugAllocator and GPUNanResetAllocator:
Guangda Lai [Mon, 9 Apr 2018 21:15:41 +0000 (14:15 -0700)]
Fix GPUDebugAllocator and GPUNanResetAllocator:
1. Eliminate the checks when the pointer is nullptr.
2. Fix nan array size. Some application can produce a zero size which would
   cause out-of-range access error.

PiperOrigin-RevId: 192186224

6 years agoDoccumentation fix for LossSpec.
A. Unique TensorFlower [Mon, 9 Apr 2018 21:12:05 +0000 (14:12 -0700)]
Doccumentation fix for LossSpec.

PiperOrigin-RevId: 192185646

6 years agoFix bug in loop optimizer. Reuse existing constant nodes.
A. Unique TensorFlower [Mon, 9 Apr 2018 21:08:50 +0000 (14:08 -0700)]
Fix bug in loop optimizer. Reuse existing constant nodes.

PiperOrigin-RevId: 192185091

6 years agoAutomated g4 rollback of changelist 192160407
Akshay Modi [Mon, 9 Apr 2018 21:07:12 +0000 (14:07 -0700)]
Automated g4 rollback of changelist 192160407

PiperOrigin-RevId: 192184809

6 years agoAdds __repr__ method to HParams.
A. Unique TensorFlower [Mon, 9 Apr 2018 21:02:30 +0000 (14:02 -0700)]
Adds __repr__ method to HParams.

PiperOrigin-RevId: 192184000

6 years agoMake node and registration getter const.
Shashi Shekhar [Mon, 9 Apr 2018 20:57:12 +0000 (13:57 -0700)]
Make node and registration getter const.

PiperOrigin-RevId: 192183067

6 years agoAdd opcode for new instruction that broadcasts degenerate dimensions.
Dimitris Vardoulakis [Mon, 9 Apr 2018 20:42:35 +0000 (13:42 -0700)]
Add opcode for new instruction that broadcasts degenerate dimensions.
Implicit broadcasts can be translated to the new instruction instead of a reshape-and-broadcast.
Follow-up CLs will add support in UserComputation and the various backends.

PiperOrigin-RevId: 192180356

6 years agoAdd a utility that can detect the class that defined a method. This is useful when...
A. Unique TensorFlower [Mon, 9 Apr 2018 20:24:03 +0000 (13:24 -0700)]
Add a utility that can detect the class that defined a method. This is useful when converting a e.g. a custom Keras model, to avoid recompiling the base model methods.

PiperOrigin-RevId: 192177117

6 years agoAdds a within_ops_fn parameter to get_forward_walk_ops and get_backward_walk_ops
A. Unique TensorFlower [Mon, 9 Apr 2018 20:21:34 +0000 (13:21 -0700)]
Adds a within_ops_fn parameter to get_forward_walk_ops and get_backward_walk_ops
that allows setting a condition on ops that are within or not within.

Also adds tests for these methods that were missing.

PiperOrigin-RevId: 192176693

6 years agoImplement DFS using a loop instead of recursion to avoid stack overflow.
A. Unique TensorFlower [Mon, 9 Apr 2018 19:41:03 +0000 (12:41 -0700)]
Implement DFS using a loop instead of recursion to avoid stack overflow.

PiperOrigin-RevId: 192169242

6 years agoRenames exported signature names in MultiHead so head_name comes first.
A. Unique TensorFlower [Mon, 9 Apr 2018 19:37:33 +0000 (12:37 -0700)]
Renames exported signature names in MultiHead so head_name comes first.

PiperOrigin-RevId: 192168628

6 years agoProvide a hint about the number of iterations to while_loop in the case of for loops...
A. Unique TensorFlower [Mon, 9 Apr 2018 19:22:37 +0000 (12:22 -0700)]
Provide a hint about the number of iterations to while_loop in the case of for loops over tensors of known size. This allows using this type of for loops on TPU.

PiperOrigin-RevId: 192166460

6 years agoOnly set session in model_to_estimator if _SESSION has not been set.
Yifei Feng [Mon, 9 Apr 2018 19:09:34 +0000 (12:09 -0700)]
Only set session in model_to_estimator if _SESSION has not been set.
Fix #18193.

PiperOrigin-RevId: 192164669

6 years agoInternal fix.
A. Unique TensorFlower [Mon, 9 Apr 2018 19:02:38 +0000 (12:02 -0700)]
Internal fix.

PiperOrigin-RevId: 192163466

6 years agoAutomated g4 rollback of changelist 186518037
Ayush Dubey [Mon, 9 Apr 2018 18:51:38 +0000 (11:51 -0700)]
Automated g4 rollback of changelist 186518037

PiperOrigin-RevId: 192161449

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:46:26 +0000 (11:46 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 192160587

6 years agoAllow creating tensors from numpy arrays, and other various constants.
Akshay Modi [Mon, 9 Apr 2018 18:45:13 +0000 (11:45 -0700)]
Allow creating tensors from numpy arrays, and other various constants.

Allow type-inference from a different input tensor, similar to args_to_matching_eager.

- Update TFE_Py_TensorShapeSlice to take tuples.
- Update int values to allow int/long in py2

PiperOrigin-RevId: 192160407

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:19:41 +0000 (11:19 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 192155883

6 years agoDocumentation fix.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:16:17 +0000 (11:16 -0700)]
Documentation fix.

PiperOrigin-RevId: 192155305

6 years agoRegister tf.concat with uint8 data type.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:14:25 +0000 (11:14 -0700)]
Register tf.concat with uint8 data type.

PiperOrigin-RevId: 192154998

6 years agoAdds support for tf.HParams to TPUEstimator.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:11:10 +0000 (11:11 -0700)]
Adds support for tf.HParams to TPUEstimator.

PiperOrigin-RevId: 192154504

6 years agoAdds complex64/128 Fill kernel registrations for GPU.
Brian Patton [Mon, 9 Apr 2018 18:08:08 +0000 (11:08 -0700)]
Adds complex64/128 Fill kernel registrations for GPU.

PiperOrigin-RevId: 192153935

6 years agoRewrite a fast GEMV path for two goals:
A. Unique TensorFlower [Mon, 9 Apr 2018 17:59:46 +0000 (10:59 -0700)]
Rewrite a fast GEMV path for two goals:
1. Avoid cache aliasing issues on CPUs with 4-way set associative L1 cache.
   That includes Cortex-A53.
2. Be a good basis to port to assembly.

PiperOrigin-RevId: 192152277

6 years agoCollective Ops Part 2
A. Unique TensorFlower [Mon, 9 Apr 2018 17:56:29 +0000 (10:56 -0700)]
Collective Ops Part 2

Kernel/Op defs for reduction and broadcast.

Note that kernels just set up CollectiveParams and don't
define detailed algorithms.

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

PiperOrigin-RevId: 192151715

6 years agoAdd `scope` parameter in experimental Quantization API.
Yu-Cheng Ling [Mon, 9 Apr 2018 17:48:10 +0000 (10:48 -0700)]
Add `scope` parameter in experimental Quantization API.

This enables quantizing subgraphs of the entire graph. It's useful for networks
like Inception since we don't want to quantize the AuxLogits scope.

PiperOrigin-RevId: 192150416

6 years agoReplaced calls to deprecated tensorflow::StringPiece methods with their
A. Unique TensorFlower [Mon, 9 Apr 2018 17:46:59 +0000 (10:46 -0700)]
Replaced calls to deprecated tensorflow::StringPiece methods with their
tensorflow::str_util equivalents.

This will allow the deprecated methods to be removed.

PiperOrigin-RevId: 192150230

6 years agoInternal Change.
A. Unique TensorFlower [Mon, 9 Apr 2018 17:42:45 +0000 (10:42 -0700)]
Internal Change.

PiperOrigin-RevId: 192149558

6 years agoAdd validation for output_index of Feed.id.
A. Unique TensorFlower [Mon, 9 Apr 2018 17:38:58 +0000 (10:38 -0700)]
Add validation for output_index of Feed.id.
Return error instead of crash if output_index is not less than the output number of the operation.

PiperOrigin-RevId: 192148911

6 years agoMinimize broadcasts by rewriting a sub-tree of binary associative ops (Add, Mul).
A. Unique TensorFlower [Mon, 9 Apr 2018 17:13:28 +0000 (10:13 -0700)]
Minimize broadcasts by rewriting a sub-tree of binary associative ops (Add, Mul).

PiperOrigin-RevId: 192145052

6 years agoSmall reorganization of core/BUILD
A. Unique TensorFlower [Mon, 9 Apr 2018 16:58:33 +0000 (09:58 -0700)]
Small reorganization of core/BUILD

PiperOrigin-RevId: 192142333

6 years agoInitial Python API for specifying outside_compilation blocks that call out from a...
A. Unique TensorFlower [Mon, 9 Apr 2018 16:11:01 +0000 (09:11 -0700)]
Initial Python API for specifying outside_compilation blocks that call out from a TPU computation.

For now outside_compilation cannot occur inside any compiled control flow (while loop or conditional). If the computation is replicated, the outside_compilation ops are also replicated. Both of these restrictions will be lifted in followup CLs.

PiperOrigin-RevId: 192135901

6 years agoAdding support for the standalone log operator. Basic import/export only, No run...
A. Unique TensorFlower [Mon, 9 Apr 2018 16:10:31 +0000 (09:10 -0700)]
Adding support for the standalone log operator. Basic import/export only, No run time support.

PiperOrigin-RevId: 192135843

6 years agoBegin switching to use Kokoro build badges on TF GitHub README.md.
Michael Case [Mon, 9 Apr 2018 15:24:38 +0000 (08:24 -0700)]
Begin switching to use Kokoro build badges on TF GitHub README.md.

Moving away from Jenkins builds. Would like to switch to use build badges
for the equivalent builds we have set up on Kokoro.

PiperOrigin-RevId: 192130083

6 years agoPass allow_custom_ops to toco from the python api.
A. Unique TensorFlower [Mon, 9 Apr 2018 14:37:51 +0000 (07:37 -0700)]
Pass allow_custom_ops to toco from the python api.

PiperOrigin-RevId: 192125160

6 years agoSuppress -Wself-assign in self-assignment tests, which triggers in newer clang revisions.
A. Unique TensorFlower [Mon, 9 Apr 2018 14:21:54 +0000 (07:21 -0700)]
Suppress -Wself-assign in self-assignment tests, which triggers in newer clang revisions.

PiperOrigin-RevId: 192123736

6 years agoMake grpcio pip dependency conditional on little endian
Shanqing Cai [Mon, 9 Apr 2018 14:11:32 +0000 (07:11 -0700)]
Make grpcio pip dependency conditional on little endian

grpcio doesn't build correctly on big-endian machines due to
lack of BoringSSL support.

Fixes: #17882
PiperOrigin-RevId: 192122728

6 years agoEnabling fp16 for NCCL 1 and 2.
A. Unique TensorFlower [Mon, 9 Apr 2018 08:59:50 +0000 (01:59 -0700)]
Enabling fp16 for NCCL 1 and 2.

PiperOrigin-RevId: 192096789

6 years agoAutomated g4 rollback of changelist 191360905
Anna R [Sun, 8 Apr 2018 22:42:16 +0000 (15:42 -0700)]
Automated g4 rollback of changelist 191360905

PiperOrigin-RevId: 192065431

6 years ago[XLA] Parallelize HloEvaluator::HandleConvolution
Michael Kuperstein [Sun, 8 Apr 2018 22:37:26 +0000 (15:37 -0700)]
[XLA] Parallelize HloEvaluator::HandleConvolution

This adds a parallel version of Literal::Populate, and uses it in the embarrassingly parallel convolution computation.

PiperOrigin-RevId: 192065277

6 years agoRevamp a few ScratchAllocator classes in cudnn_rnn_ops
James Qin [Sat, 7 Apr 2018 22:56:24 +0000 (15:56 -0700)]
Revamp a few ScratchAllocator classes in cudnn_rnn_ops

Prepare for RNN autotune.
* The scratch allocator classes are renamed s.t. they're named by the duration of memory allocated.
  * CudnnReservespaceAllocator ==> CudnnRnnAllocatorInOutput.
  * CudnnWorkspaceAllocator ==> CudnnRnnAllocatorInTemp

* The old CudnnWorkspaceAllocator (new CudnnRnnAllocatorInTemp) is made a template s.t. it works with different tensor dtypes, which is used later in autotune, during which both workspace (uint8) and reserve space (input_dtype) are temp-allocated.

* Change CudnnModelShapes  ==> CudnnRnnModelShapes

PiperOrigin-RevId: 192018334

6 years agoFix batch_norm_benchmark.py to work with the C API.
Skye Wanderman-Milne [Sat, 7 Apr 2018 22:01:08 +0000 (15:01 -0700)]
Fix batch_norm_benchmark.py to work with the C API.

PiperOrigin-RevId: 192016546

6 years agoSave some useful TPU estimator's ops into collections for performance measurement.
Rui Zhao [Sat, 7 Apr 2018 21:43:08 +0000 (14:43 -0700)]
Save some useful TPU estimator's ops into collections for performance measurement.

PiperOrigin-RevId: 192016099

6 years ago[XLA:GPU] Eliminate the guard around Winograd non-fused convolutions with cudnn7.
Justin Lebar [Sat, 7 Apr 2018 18:42:43 +0000 (11:42 -0700)]
[XLA:GPU] Eliminate the guard around Winograd non-fused convolutions with cudnn7.

Adds DnnSupport::GetVersion() and uses this to unguard Winograd
non-fused convolutions if you're using cudnn7.

PiperOrigin-RevId: 192010450

6 years agoAutomated g4 rollback of changelist 191938267
Suharsh Sivakumar [Sat, 7 Apr 2018 17:15:58 +0000 (10:15 -0700)]
Automated g4 rollback of changelist 191938267

PiperOrigin-RevId: 192007784

6 years agoRemove 'Print' in DebugStripper.
A. Unique TensorFlower [Sat, 7 Apr 2018 09:03:00 +0000 (02:03 -0700)]
Remove 'Print' in DebugStripper.

PiperOrigin-RevId: 191989327

6 years agoAdd analytical cost model for FusedConv2DBiasActivation.
Rob Sloan [Sat, 7 Apr 2018 04:55:10 +0000 (21:55 -0700)]
Add analytical cost model for FusedConv2DBiasActivation.

PiperOrigin-RevId: 191978272

6 years agoImprovements to ResourceVariable + Variant code.
Eugene Brevdo [Sat, 7 Apr 2018 04:00:42 +0000 (21:00 -0700)]
Improvements to ResourceVariable + Variant code.

* Works in graph + eager modes
* Fixed shape inference
* Updated shape inference + refiner + constant eval code to support static shape tensor of `-1` meaning unknown shape.
* Gather and Scatter for Variants now properly supported.
* Variable copy-on-write for Variants now does a more shallow copy (as Variants are not expected to be updated "in-place" inside a variable; instead Variants will be updated via read-update-write inside a CriticalSection)

PiperOrigin-RevId: 191975898

6 years agoeager: s/tfe.GradientTape/tf.GradientTape/
Asim Shankar [Sat, 7 Apr 2018 03:26:07 +0000 (20:26 -0700)]
eager: s/tfe.GradientTape/tf.GradientTape/

In the next release (and at HEAD), GradientTape has graduated
out of the tf.contrib.eager namespace.

PiperOrigin-RevId: 191974294

6 years agoPlace data format op on host if input tensor is in host memory.
Yao Zhang [Sat, 7 Apr 2018 02:52:27 +0000 (19:52 -0700)]
Place data format op on host if input tensor is in host memory.

PiperOrigin-RevId: 191972759

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Sat, 7 Apr 2018 02:18:11 +0000 (19:18 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 191971265

6 years agoAutomated g4 rollback of changelist 191963758
A. Unique TensorFlower [Sat, 7 Apr 2018 02:00:59 +0000 (19:00 -0700)]
Automated g4 rollback of changelist 191963758

PiperOrigin-RevId: 191970209

6 years ago[XLA] Make HloTestBase's hlo verifier to allow mixed precision.
Yuanzhong Xu [Sat, 7 Apr 2018 01:27:18 +0000 (18:27 -0700)]
[XLA] Make HloTestBase's hlo verifier to allow mixed precision.

PiperOrigin-RevId: 191968158

6 years agoWe no longer need updates_collections in quant ops since we rely on the data dependen...
Suharsh Sivakumar [Sat, 7 Apr 2018 00:51:40 +0000 (17:51 -0700)]
We no longer need updates_collections in quant ops since we rely on the data dependency from Assign ops.

PiperOrigin-RevId: 191965466

6 years ago[XLA] Redesign: implement Collapse and migrate reshape_test.
A. Unique TensorFlower [Sat, 7 Apr 2018 00:49:47 +0000 (17:49 -0700)]
[XLA] Redesign: implement Collapse and migrate reshape_test.

PiperOrigin-RevId: 191965245

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

6 years agoAdd remote session support for the MakeCallable API.
Derek Murray [Sat, 7 Apr 2018 00:39:17 +0000 (17:39 -0700)]
Add remote session support for the MakeCallable API.

PiperOrigin-RevId: 191964391

6 years agoInitial Python API for specifying outside_compilation blocks that call out from a...
A. Unique TensorFlower [Sat, 7 Apr 2018 00:31:43 +0000 (17:31 -0700)]
Initial Python API for specifying outside_compilation blocks that call out from a TPU computation.

For now outside_compilation cannot occur inside any compiled control flow (while loop or conditional). If the computation is replicated, the outside_compilation ops are also replicated. Both of these restrictions will be lifted in followup CLs.

PiperOrigin-RevId: 191963758

6 years agoReplaced calls to deprecated tensorflow::StringPiece methods with their
A. Unique TensorFlower [Sat, 7 Apr 2018 00:19:45 +0000 (17:19 -0700)]
Replaced calls to deprecated tensorflow::StringPiece methods with their
tensorflow::str_util equivalents.

This will allow the deprecated methods to be removed.

PiperOrigin-RevId: 191962763

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

PiperOrigin-RevId: 191962652

6 years agoOpen sourcing proto/rpc ops.
Jiri Simsa [Sat, 7 Apr 2018 00:17:22 +0000 (17:17 -0700)]
Open sourcing proto/rpc ops.

PiperOrigin-RevId: 191962572

6 years agoRemove zipped argument, and use an implicit dispatch mechanism
A. Unique TensorFlower [Sat, 7 Apr 2018 00:13:13 +0000 (17:13 -0700)]
Remove zipped argument, and use an implicit dispatch mechanism

PiperOrigin-RevId: 191962157

6 years agoAdd CallableOptions.tensor_connection for feeding a tensor to another tensor.
Derek Murray [Sat, 7 Apr 2018 00:02:16 +0000 (17:02 -0700)]
Add CallableOptions.tensor_connection for feeding a tensor to another tensor.

PiperOrigin-RevId: 191960845

6 years agoAdd methods to TestReporter to log extras for benchmarks.
Shashi Shekhar [Fri, 6 Apr 2018 23:58:18 +0000 (16:58 -0700)]
Add methods to TestReporter to log extras for benchmarks.

PiperOrigin-RevId: 191960433