platform/upstream/tensorflow.git
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

6 years agoUpdate docs to include the most relevant paper.
Suharsh Sivakumar [Fri, 6 Apr 2018 23:51:05 +0000 (16:51 -0700)]
Update docs to include the most relevant paper.

PiperOrigin-RevId: 191959657

6 years agoWater down some tests so they work in the Python 2.7.9 release builds
Allen Lavoie [Fri, 6 Apr 2018 23:50:01 +0000 (16:50 -0700)]
Water down some tests so they work in the Python 2.7.9 release builds

Removing reference cycle checks from the tests that failed in
http://ci.tensorflow.org/view/Release/job/release-debian-cpu/99/consoleFull

uuid4() created reference cycles until Python 2.7.11. Removes checks for
reference cycles from tests which indirectly call it.

This issue will probably keep coming up until we move off of 2.7.9 (since
there's no presubmit), but this CL is an effort to fix the issues that came up
for the 1.7 release.

PiperOrigin-RevId: 191959519

6 years ago[XLA] Redesign: implement and test Pad.
A. Unique TensorFlower [Fri, 6 Apr 2018 23:34:46 +0000 (16:34 -0700)]
[XLA] Redesign: implement and test Pad.

PiperOrigin-RevId: 191957827

6 years agoMove inplace update operators.
Patrick Nguyen [Fri, 6 Apr 2018 23:33:11 +0000 (16:33 -0700)]
Move inplace update operators.

The ops are not part of the public API.

PiperOrigin-RevId: 191957660

6 years agoRevert to the previous version of the ResNet50 model.
Anjali Sridhar [Fri, 6 Apr 2018 23:11:10 +0000 (16:11 -0700)]
Revert to the previous version of the ResNet50 model.

PiperOrigin-RevId: 191955019

6 years agoAdd support for ResourceVariable to recompute_grad
A. Unique TensorFlower [Fri, 6 Apr 2018 23:09:37 +0000 (16:09 -0700)]
Add support for ResourceVariable to recompute_grad

PiperOrigin-RevId: 191954813

6 years ago[TF] Add half precision to the supported data types for tensorflow operations.
Bixia Zheng [Fri, 6 Apr 2018 23:04:46 +0000 (16:04 -0700)]
[TF] Add half precision to the supported data types for tensorflow operations.

Enable most of the half precision XLA compiler tests for the cpu backend,
except for two which are disabled and documented in a bug.

PiperOrigin-RevId: 191954183

6 years agoRefactor LoopOptimizer:
A. Unique TensorFlower [Fri, 6 Apr 2018 23:00:41 +0000 (16:00 -0700)]
Refactor LoopOptimizer:
  * Put loop-invariant node motion in its own class.
  * Add granular control of which passes to run.
Swap order of LINM and stack push removal.

PiperOrigin-RevId: 191953537

6 years agoFollow up on earlier change, which tried to avoid reading the input file twice for...
A. Unique TensorFlower [Fri, 6 Apr 2018 22:51:49 +0000 (15:51 -0700)]
Follow up on earlier change, which tried to avoid reading the input file twice for InitializableLookupTable in combination with HashTable.

It turns out all files end at some point and thus and OutOfRange status is encountered on all successful reads. The old code would then compare next_id_ to total_size(), to see whether or not we should return an error. But this is exactly what we tried to prevent. Instead use vocab_size_ if it was initialized or don't return an error.

PiperOrigin-RevId: 191952441

6 years ago[tf.data] Replace the Reader-oriented documentation for supporting new datasets with...
Derek Murray [Fri, 6 Apr 2018 22:38:05 +0000 (15:38 -0700)]
[tf.data] Replace the Reader-oriented documentation for supporting new datasets with a tf.data version.

PiperOrigin-RevId: 191950831

6 years agoCreate tuple if body doesn't return one.
Akshay Modi [Fri, 6 Apr 2018 22:06:05 +0000 (15:06 -0700)]
Create tuple if body doesn't return one.

Fixes #18257.

PiperOrigin-RevId: 191946459

6 years agoAdd RNNClassifier
A. Unique TensorFlower [Fri, 6 Apr 2018 21:32:28 +0000 (14:32 -0700)]
Add RNNClassifier

PiperOrigin-RevId: 191941174

6 years agoPad support for quantized zero.
Suharsh Sivakumar [Fri, 6 Apr 2018 21:13:49 +0000 (14:13 -0700)]
Pad support for quantized zero.

PiperOrigin-RevId: 191938267

6 years agoSwitch the eager PTB example to object-based saving.
Allen Lavoie [Fri, 6 Apr 2018 20:58:40 +0000 (13:58 -0700)]
Switch the eager PTB example to object-based saving.

Should be the last eager example using name-based saving. This works now that cuDNN LSTM cells are Checkpointable.

The CPU and GPU checkpoints for this example (still) won't be compatible; I may follow up with a CL which makes them equivalent. Right now I don't think they're even implementing the same architecture.

PiperOrigin-RevId: 191935995

6 years agoA single measurement is enough when using simulation
Benoit Steiner [Fri, 6 Apr 2018 20:49:42 +0000 (13:49 -0700)]
A single measurement is enough when using simulation

PiperOrigin-RevId: 191934781

6 years agoReplaced calls to deprecated tensorflow::StringPiece methods with their
A. Unique TensorFlower [Fri, 6 Apr 2018 19:37:17 +0000 (12:37 -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: 191925087

6 years agoPull changes from prefetching_ops to support dicts in prefetching_ops_v2 in distribut...
Priya Gupta [Fri, 6 Apr 2018 19:36:20 +0000 (12:36 -0700)]
Pull changes from prefetching_ops to support dicts in prefetching_ops_v2 in distribute, and update estimator test to use prefetching.
Also update readme to reflect the support of dictionaries.

PiperOrigin-RevId: 191924990

6 years agoUpdate the rewriter options with the optimizer options
Benoit Steiner [Fri, 6 Apr 2018 19:22:17 +0000 (12:22 -0700)]
Update the rewriter options with the optimizer options

PiperOrigin-RevId: 191923287

6 years agoFix a few bugs in ArithmeticOptimizer and make it robust to failures of shape inference.
A. Unique TensorFlower [Fri, 6 Apr 2018 19:18:04 +0000 (12:18 -0700)]
Fix a few bugs in ArithmeticOptimizer and make it robust to failures of shape inference.

PiperOrigin-RevId: 191922788

6 years agoValidate errorReporter and improve the documentation on it.
Andrew Selle [Fri, 6 Apr 2018 18:59:17 +0000 (11:59 -0700)]
Validate errorReporter and improve the documentation on it.

PiperOrigin-RevId: 191920009

6 years agoSupport RNN profiling in StreamExecutor for CUDA GPUs.
James Qin [Fri, 6 Apr 2018 18:56:08 +0000 (11:56 -0700)]
Support RNN profiling in StreamExecutor for CUDA GPUs.

This change hasn't applied autotune on TF Cudnn kernels, only provides lower level support.

PiperOrigin-RevId: 191919566

6 years agoFix small performance regression in microbenchmarks.
Alexandre Passos [Fri, 6 Apr 2018 18:55:19 +0000 (11:55 -0700)]
Fix small performance regression in microbenchmarks.

PiperOrigin-RevId: 191919464

6 years agoRemove `TF_InitializeTPU` and `TF_ShutdownTPU` from experimental C API as they are...
Richard Wei [Fri, 6 Apr 2018 18:47:44 +0000 (11:47 -0700)]
Remove `TF_InitializeTPU` and `TF_ShutdownTPU` from experimental C API as they are no longer needed. Also remove a duplicate function declaration.

PiperOrigin-RevId: 191918408

6 years agoUpdate tf.keras to keras 2.1.5 version.
Anjali Sridhar [Fri, 6 Apr 2018 18:24:20 +0000 (11:24 -0700)]
Update tf.keras to keras 2.1.5 version.

PiperOrigin-RevId: 191914904

6 years ago[TF:XLA] Create Despecializing Pass Pipeline
Nick Desaulniers [Fri, 6 Apr 2018 18:23:40 +0000 (11:23 -0700)]
[TF:XLA] Create Despecializing Pass Pipeline

When comparing backends, it is useful to take an HLO optimized for one backend and perform transformations in order to match numerics.  This can be thought of as finding a lowest common denominator.

Move this grouping of passes into its own HloPassPipeline that can be reused in a few different places.

PiperOrigin-RevId: 191914799

6 years agoAdded headers only version of tensorflow/core/kernels:cwise_lib, cwise_lib_hdrs....
A. Unique TensorFlower [Fri, 6 Apr 2018 18:21:41 +0000 (11:21 -0700)]
Added headers only version of tensorflow/core/kernels:cwise_lib, cwise_lib_hdrs. This is for clients that want to use the cwise_ops machinery when making their own custom ops, including cwise_lib directly causes multiple definition linker errors.

PiperOrigin-RevId: 191914445

6 years agoMinor doc clarification for reduce_sum return type
A. Unique TensorFlower [Fri, 6 Apr 2018 18:21:24 +0000 (11:21 -0700)]
Minor doc clarification for reduce_sum return type

PiperOrigin-RevId: 191914398

6 years agoProperly handle callable objects.
A. Unique TensorFlower [Fri, 6 Apr 2018 18:17:41 +0000 (11:17 -0700)]
Properly handle callable objects.

PiperOrigin-RevId: 191913834

6 years agoTPU Cost Estimator has been modified to also account for the memory cost in the execu...
A. Unique TensorFlower [Fri, 6 Apr 2018 18:16:17 +0000 (11:16 -0700)]
TPU Cost Estimator has been modified to also account for the memory cost in the execution time. Until more sophisticated methods are added, we resort to the roofline model to calculate such cost.

PiperOrigin-RevId: 191913626

6 years agoChange GetInstructionCallContext to take an opcode instead of an
Mark Heffernan [Fri, 6 Apr 2018 17:28:18 +0000 (10:28 -0700)]
Change GetInstructionCallContext to take an opcode instead of an
HloInstruction.
This enables use of the function without an actual instruction (eg, if you just
have an HloProto).

PiperOrigin-RevId: 191905914

6 years agoAllow TFE_NewContext to fail more reasonably when SWIG is checking status.
Akshay Modi [Fri, 6 Apr 2018 17:28:10 +0000 (10:28 -0700)]
Allow TFE_NewContext to fail more reasonably when SWIG is checking status.

Before:
TFE_Context would check nullptr, and the function would fail straight away.

Now:
TFE_Context is nullptr, so it skips down to checking the status, and an error
is raised.

I'm not able to find in SWIG documentation how to order typemaps in the
generated code - ideally, I'd order it to check the status typemap first. This
code makes it not dependent on this ordering either way.

PiperOrigin-RevId: 191905893

6 years agoObject-based checkpointing support for unidirectional cuDNN LSTM cells
Allen Lavoie [Fri, 6 Apr 2018 17:26:40 +0000 (10:26 -0700)]
Object-based checkpointing support for unidirectional cuDNN LSTM cells

Once checked in, this will be the only way I know of to save canonical weights
when executing eagerly. Eager's name-based saving support will only do the
opaque parameter buffer.

I'm not going to try converting everything in one go, but it's a start at
least. And everything else should raise a NotImplementedError rather than
silently not saving correctly.

Single-layer cuDNN cells can be swapped for un-wrapped cuDNN compatible cells or
single cells wrapped in MultiRNNCells. Multi-layer cells need MultiRNNCell
wrapping.

PiperOrigin-RevId: 191905703

6 years agoMaterialize tensor array sizes whenever possible
Benoit Steiner [Fri, 6 Apr 2018 16:45:01 +0000 (09:45 -0700)]
Materialize tensor array sizes whenever possible

PiperOrigin-RevId: 191900015

6 years ago[tf.data] Enable using `tf.contrib.data.prefetch_to_device()` in eager mode.
Derek Murray [Fri, 6 Apr 2018 16:26:26 +0000 (09:26 -0700)]
[tf.data] Enable using `tf.contrib.data.prefetch_to_device()` in eager mode.

The added functionality is a substitute for the implicit prefetching in
`tfe.Iterator`, and the two paths will converge in a future change.

Fixes #18260.

PiperOrigin-RevId: 191897666

6 years ago[TPUClusterResolver] Start a TFServer when running in GKE
Brennan Saeta [Fri, 6 Apr 2018 16:26:08 +0000 (09:26 -0700)]
[TPUClusterResolver] Start a TFServer when running in GKE

This change allows advanced input pipelines (e.g. StreamingFilesDataset, or split-pipelines that use py_func's) to run in GKE- and GKE-like enviornments.

PiperOrigin-RevId: 191897639

6 years agoTweaked docstrings in LayerCollection.
A. Unique TensorFlower [Fri, 6 Apr 2018 16:21:00 +0000 (09:21 -0700)]
Tweaked docstrings in LayerCollection.

PiperOrigin-RevId: 191897098

6 years agoSupport override of device filters for gRPC, by overriding the requests with default...
A. Unique TensorFlower [Fri, 6 Apr 2018 16:11:32 +0000 (09:11 -0700)]
Support override of device filters for gRPC, by overriding the requests with default session config.

PiperOrigin-RevId: 191895856

6 years agoFix up the support for the case where a given array name occurs multiple
A. Unique TensorFlower [Fri, 6 Apr 2018 15:58:14 +0000 (08:58 -0700)]
Fix up the support for the case where a given array name occurs multiple
times in the inputs/outputs list of an op. The (non-essential) computation
of the optimal workspace size had not been updated for that case, causing it
to fail on a simple test case. Moreover, the initial implementation had some
redundant usage of std::find that this CL moves to a shared helper function.

PiperOrigin-RevId: 191894081

6 years agoThe training model need not be built when the kfac optimizer is initialized so the
A. Unique TensorFlower [Fri, 6 Apr 2018 15:48:16 +0000 (08:48 -0700)]
The training model need not be built when the kfac optimizer is initialized so the
self._variables will be empty list.  So pass a function which returns list of trainable variables to estimator.

PiperOrigin-RevId: 191893084

6 years agoAdd description to the LPIRC 2018 competition benchmarker.
A. Unique TensorFlower [Fri, 6 Apr 2018 15:11:24 +0000 (08:11 -0700)]
Add description to the LPIRC 2018 competition benchmarker.

PiperOrigin-RevId: 191889484

6 years agoAvoid marking clusters containing only Identity ops for compilation.
A. Unique TensorFlower [Fri, 6 Apr 2018 14:50:09 +0000 (07:50 -0700)]
Avoid marking clusters containing only Identity ops for compilation.

This would produce clusters where XLA cannot optimize anything.

PiperOrigin-RevId: 191887414

6 years agoDefine PRNG seeding style for new code in Distributions and TF Probability, with...
A. Unique TensorFlower [Fri, 6 Apr 2018 14:13:49 +0000 (07:13 -0700)]
Define PRNG seeding style for new code in Distributions and TF Probability, with rationales.

Implement lightweight PRNG for seed generation in that style.

Enables incremental refactoring of existing code into this style.

PiperOrigin-RevId: 191884573

6 years agoFix typos in XlaCompilationCache
Igor Ganichev [Fri, 6 Apr 2018 13:30:45 +0000 (06:30 -0700)]
Fix typos in XlaCompilationCache

PiperOrigin-RevId: 191881135

6 years agointernal change
A. Unique TensorFlower [Fri, 6 Apr 2018 10:23:54 +0000 (03:23 -0700)]
internal change

PiperOrigin-RevId: 191869400

6 years agoAdd a test to check graceful handling of out-of-memory conditions.
A. Unique TensorFlower [Fri, 6 Apr 2018 08:46:37 +0000 (01:46 -0700)]
Add a test to check graceful handling of out-of-memory conditions.

PiperOrigin-RevId: 191860462

6 years agoFix StringPiece use-after-free in MasterSession::ReffedClientGraph.
Derek Murray [Fri, 6 Apr 2018 05:37:49 +0000 (22:37 -0700)]
Fix StringPiece use-after-free in MasterSession::ReffedClientGraph.

Use the owned ClientGraph as the source for the node_to_name_ map, rather than the borrowed GraphExecutionState (which can be deleted while the ReffedClientGraph is in use).

PiperOrigin-RevId: 191847023

6 years agoUpgrade libpng
Justine Tunney [Fri, 6 Apr 2018 03:43:47 +0000 (20:43 -0700)]
Upgrade libpng

PiperOrigin-RevId: 191840652

6 years agoSwap in the new implementation of while and for loops.
A. Unique TensorFlower [Fri, 6 Apr 2018 03:14:42 +0000 (20:14 -0700)]
Swap in the new implementation of while and for loops.

PiperOrigin-RevId: 191838806

6 years agoExpose the adaptive sampling option for SDCA and shuffle the data when adaptive sampl...
A. Unique TensorFlower [Fri, 6 Apr 2018 02:33:58 +0000 (19:33 -0700)]
Expose the adaptive sampling option for SDCA and shuffle the data when adaptive sampling is off.

PiperOrigin-RevId: 191836004

6 years ago[XLA] Don't call MultidimensionalIndexToLinearIndex in HloEvaluator's convolution...
Justin Lebar [Fri, 6 Apr 2018 02:30:10 +0000 (19:30 -0700)]
[XLA] Don't call MultidimensionalIndexToLinearIndex in HloEvaluator's convolution routine.

Before: ConvolutionTest/0.StridedFilter (41812 ms)
After:  ConvolutionTest/0.StridedFilter (28054 ms)

Speedup: 42 / 28 = 1.5x
PiperOrigin-RevId: 191835735

6 years agoAdd RunMetadata logging to tf.train.ProfilerHook for Tensorboard Memeory/CPU usage...
A. Unique TensorFlower [Fri, 6 Apr 2018 01:50:35 +0000 (18:50 -0700)]
Add RunMetadata logging to tf.train.ProfilerHook for Tensorboard Memeory/CPU usage visualization

PiperOrigin-RevId: 191832832

6 years agoAdded `drop_final_batch` argument to make_batched_features_dataset. This allows the...
A. Unique TensorFlower [Fri, 6 Apr 2018 01:37:19 +0000 (18:37 -0700)]
Added `drop_final_batch` argument to make_batched_features_dataset. This allows the batch_and_drop_remainder function to be used instead of the default batch function.

PiperOrigin-RevId: 191831842

6 years ago[XLA] Don't call Literal::Get in HloEvaluator's convolution loop.
Justin Lebar [Fri, 6 Apr 2018 01:23:32 +0000 (18:23 -0700)]
[XLA] Don't call Literal::Get in HloEvaluator's convolution loop.

This speeds up the implementation of conv because Literal::Get calls
Literal::Piece::data, which is relatively slow.

Instead, we call Literal::Data() once and cache the result.

Before: ConvolutionTest/0.StridedFilter (59094 ms)
After:  ConvolutionTest/0.StridedFilter (41812 ms)

Speedup: 59/42 = 1.4x
PiperOrigin-RevId: 191830741

6 years agoLazily evaluate shapes with the C API enabled.
Skye Wanderman-Milne [Fri, 6 Apr 2018 01:21:54 +0000 (18:21 -0700)]
Lazily evaluate shapes with the C API enabled.

This change makes it so shapes are computed only when requested with
_USE_C_API = True. Note that the C API will still raise a shape error
if necessary when the op is created.

In addition, it cleans up the logic for _USE_C_SHAPES = True. In this
case, we lazily fetch and cache shapes directly from the C API. We no
longer need set_shapes_for_outputs at all in this case.

PiperOrigin-RevId: 191830565

6 years ago refactor and add proto field required by POD support.
A. Unique TensorFlower [Fri, 6 Apr 2018 00:43:43 +0000 (17:43 -0700)]
  refactor and add proto field required by POD support.

PiperOrigin-RevId: 191826636

6 years agoAdd a command line parameter to toco to change the way toco rescales input and output...
A. Unique TensorFlower [Fri, 6 Apr 2018 00:35:00 +0000 (17:35 -0700)]
Add a command line parameter to toco to change the way toco rescales input and output tensors.

PiperOrigin-RevId: 191825756

6 years agoAutomated g4 rollback of changelist 191605505
Tony Wang [Fri, 6 Apr 2018 00:24:33 +0000 (17:24 -0700)]
Automated g4 rollback of changelist 191605505

PiperOrigin-RevId: 191824447