platform/upstream/tensorflow.git
6 years agoraw_input() was removed in Python 3 (#16440)
cclauss [Tue, 10 Apr 2018 16:56:52 +0000 (18:56 +0200)]
raw_input() was removed in Python 3 (#16440)

6 years agoMerge pull request #18366 from qlzh727/branch_192210794
Qianli Scott Zhu [Tue, 10 Apr 2018 04:25:15 +0000 (21:25 -0700)]
Merge pull request #18366 from qlzh727/branch_192210794

Branch 192210794

6 years agoMerge pull request #18347 from case540/fix_source_writer
Michael Case [Tue, 10 Apr 2018 04:17:15 +0000 (21:17 -0700)]
Merge pull request #18347 from case540/fix_source_writer

Fixes to source_writer.cc.

6 years agoAddressed comments.
Michael Case [Tue, 10 Apr 2018 03:09:19 +0000 (20:09 -0700)]
Addressed comments.

- Free all un-popped GenericNamespace objects in destructor (not
  just the one garunteed to be there).
- Renamed test file to test.java.snippet.

6 years agoMerge commit for internal changes
Scott Zhu [Tue, 10 Apr 2018 00:25:57 +0000 (17:25 -0700)]
Merge commit for internal changes

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 agoMerge pull request #15455 from yongtang/13998-clip_by_value
Benoit Steiner [Mon, 9 Apr 2018 23:08:51 +0000 (16:08 -0700)]
Merge pull request #15455 from yongtang/13998-clip_by_value

Add customerized kernel implementation for clip_by_value

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 agoMerge pull request #18336 from yongtang/04082018-link-install_c
Amit Patankar [Mon, 9 Apr 2018 17:07:21 +0000 (10:07 -0700)]
Merge pull request #18336 from yongtang/04082018-link-install_c

Fix broken link in doc for install_c.md

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 agoAllow ComplexAbs Op on mobile platforms (#18113)
Ilya Polenov [Mon, 9 Apr 2018 15:45:48 +0000 (15:45 +0000)]
Allow ComplexAbs Op on mobile platforms (#18113)

Seems like it was disabled long time ago before open-sourcing Tensorflow.
I think disabling it is no longer necessary.
Works now on Android. Could anyone check on iOS?

Somewhat related issue: #11804

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 agoFixes to source_writer.cc.
Michael Case [Mon, 9 Apr 2018 15:19:52 +0000 (08:19 -0700)]
Fixes to source_writer.cc.

- Fix memory leak in source_writer constructor.
- FIx test data having .java extension causing issues with internal
  linters. Changing to .txt extension.

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 agoFix broken link in doc for install_c.md
Yong Tang [Mon, 9 Apr 2018 02:00:47 +0000 (02:00 +0000)]
Fix broken link in doc for install_c.md

This fix adds `https://` to stackoverflow link. Without
`https://` the link is rendered as:
```
https://www.tensorflow.org/install/www.stackoverflow.com/questions/tagged/tensorflow
```
in the current page and is broken.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
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 agotf.Dimension raises TypeError for tf.DType (#17086)
Yan Facai (颜发才) [Sat, 7 Apr 2018 03:05:10 +0000 (11:05 +0800)]
tf.Dimension raises TypeError for tf.DType (#17086)

* BUG: raise error for Dtype

* TST: add test case

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 agoBranch 191925087 (#18299)
Rasmus Munk Larsen [Fri, 6 Apr 2018 21:24:42 +0000 (14:24 -0700)]
Branch 191925087 (#18299)

* Fix docstring.

PiperOrigin-RevId: 191747417

* Use constants in tf.zeros if the constant won't be too big.

Using fill saves on GraphDef size, but can slow down models since the
total number of ops is greater (fill + shape + constant op). This
change makes us only use fill for large shapes.

PiperOrigin-RevId: 191747456

* Fix typos in "Profile Model Float Operations" documentation.

PiperOrigin-RevId: 191751175

* Added a call in CheckpointSaverHook.after_create_session to always save
checkpoint before the first training step.

PiperOrigin-RevId: 191753026

* Document expected regular structure of the statistical testing library.

PiperOrigin-RevId: 191753693

* Refine BatchReshape error messages.

PiperOrigin-RevId: 191754120

* Include the operators module in the test framework as well.

PiperOrigin-RevId: 191756100

* Expand activity analysis to the test nodes of if and while statements.

PiperOrigin-RevId: 191756234

* Inline more functions

PiperOrigin-RevId: 191761109

* Sync only the convolutional_recurrent file to Keras 2.1.5.

PiperOrigin-RevId: 191763101

* Internal change

PiperOrigin-RevId: 191769724

* Expose odeint_fixed in tf.contrib.integrate

PiperOrigin-RevId: 191769890

* Automated g4 rollback of changelist 191761109

PiperOrigin-RevId: 191771969

* Fix final eval bottleneck creation to work in cases where it isn't cached already.

Fixes #17423

PiperOrigin-RevId: 191773001

* Fix regression caused by cl/191020868: Re-use materialized shapes for other broadcast gradient shape nodes.

PiperOrigin-RevId: 191779263

* Save the original from_proto method before calling it to avoid infinite loop.

PiperOrigin-RevId: 191784430

* Automated g4 rollback of changelist 191753026

PiperOrigin-RevId: 191784709

* [XLA] Remove a dead function and a stale todo.

PiperOrigin-RevId: 191786563

* Enable branch prediction in TensorFlow

PiperOrigin-RevId: 191788253

* Changes loss_reduction default to SUM_OVER_BATCH_SIZE for multi_class_head and binary_classification_head.

PiperOrigin-RevId: 191793392

* quantized LSTM support improvements

PiperOrigin-RevId: 191794956

* Fix TF_ImportGraphDefResults and TF_Function leaks in Python API.

PiperOrigin-RevId: 191797853

* [XLA] Better support for mul reductions in MakeFakeArguments()

Mul reductions want a 1 as their init value, not a 0 or a random value.

PiperOrigin-RevId: 191802819

* Disable tests that are currently failing with cuda 9

PiperOrigin-RevId: 191805453

* Make tf.contrib.estimator.add_metrics work with warm-starting.

PiperOrigin-RevId: 191805682

* Add Raspberry Pi section and link to github build instructions.

PiperOrigin-RevId: 191807862

* Add for and while loops to the list of operators. Do not use them yet.

PiperOrigin-RevId: 191807973

* [TF:XLA] No need to set return value in the while loop's condition.

PiperOrigin-RevId: 191809110

* Add functions to extract the basic symbols on which a composite name relies. This in turn allows to statically obtain a block's syntactic closure.

PiperOrigin-RevId: 191809965

* Add link for index file in performance tab.

PiperOrigin-RevId: 191811610

* Added an option to inline all functions in aggressive mode.

PiperOrigin-RevId: 191819577

* Make concat handler support mixed range input

PiperOrigin-RevId: 191822664

* Automated g4 rollback of changelist 191605505

PiperOrigin-RevId: 191824447

* Add a command line parameter to toco to change the way toco rescales input and output tensors.

PiperOrigin-RevId: 191825756

*   refactor and add proto field required by POD support.

PiperOrigin-RevId: 191826636

* 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

* [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

* 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

* Add RunMetadata logging to tf.train.ProfilerHook for Tensorboard Memeory/CPU usage visualization

PiperOrigin-RevId: 191832832

* [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

* Expose the adaptive sampling option for SDCA and shuffle the data when adaptive sampling is off.

PiperOrigin-RevId: 191836004

* Swap in the new implementation of while and for loops.

PiperOrigin-RevId: 191838806

* Upgrade libpng

PiperOrigin-RevId: 191840652

* 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

* Add a test to check graceful handling of out-of-memory conditions.

PiperOrigin-RevId: 191860462

* internal change

PiperOrigin-RevId: 191869400

* Fix typos in XlaCompilationCache

PiperOrigin-RevId: 191881135

* 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

* Avoid marking clusters containing only Identity ops for compilation.

This would produce clusters where XLA cannot optimize anything.

PiperOrigin-RevId: 191887414

* Add description to the LPIRC 2018 competition benchmarker.

PiperOrigin-RevId: 191889484

* 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

* 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

* Support override of device filters for gRPC, by overriding the requests with default session config.

PiperOrigin-RevId: 191895856

* Tweaked docstrings in LayerCollection.

PiperOrigin-RevId: 191897098

* [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

* [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

* Materialize tensor array sizes whenever possible

PiperOrigin-RevId: 191900015

* 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

* 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

* 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

* 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

* Properly handle callable objects.

PiperOrigin-RevId: 191913834

* Minor doc clarification for reduce_sum return type

PiperOrigin-RevId: 191914398

* 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

* [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

* Update tf.keras to keras 2.1.5 version.

PiperOrigin-RevId: 191914904

* 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

* Fix small performance regression in microbenchmarks.

PiperOrigin-RevId: 191919464

* 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

* Validate errorReporter and improve the documentation on it.

PiperOrigin-RevId: 191920009

* Fix a few bugs in ArithmeticOptimizer and make it robust to failures of shape inference.

PiperOrigin-RevId: 191922788

* Update the rewriter options with the optimizer options

PiperOrigin-RevId: 191923287

* 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

* 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 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