platform/upstream/tensorflow.git
6 years agoAdd a _TensorProcessor for computing gradients but not applying them.
A. Unique TensorFlower [Thu, 8 Feb 2018 22:55:09 +0000 (14:55 -0800)]
Add a _TensorProcessor for computing gradients but not applying them.

PiperOrigin-RevId: 185056764

6 years agoUpdated API for quantize_graph: Programmable quant_delay to determine start of quanti...
Raghuraman Krishnamoorthi [Thu, 8 Feb 2018 22:50:54 +0000 (14:50 -0800)]
Updated API for quantize_graph: Programmable quant_delay to determine start of quantization in training.
Remove delay_requested parameter in _InsertQuantOp, presence or absence of quant_delay
is directly inferred from value of quant_delay. Any positive value causes insertion of
delayed quantization into the graph.

Experimental APIs for quantization with more programmability, including bitwidths for weights and activations.

PiperOrigin-RevId: 185056081

6 years agoAdding tf_export decorators/calls to TensorFlow functions and constants.
Anna R [Thu, 8 Feb 2018 22:47:28 +0000 (14:47 -0800)]
Adding tf_export decorators/calls to TensorFlow functions and constants.

PiperOrigin-RevId: 185055497

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Thu, 8 Feb 2018 22:27:03 +0000 (14:27 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 185052000

6 years agoUpdates to fastpath execution code
Akshay Modi [Thu, 8 Feb 2018 22:23:25 +0000 (14:23 -0800)]
Updates to fastpath execution code

- Add default value shape handling
- Add default value func handling (including adding a new function for this in
  the eager C API)
- Update callback execution interface to match record_gradient call

PiperOrigin-RevId: 185051447

6 years agoObject-based saving prototype: allow only named edges
Allen Lavoie [Thu, 8 Feb 2018 22:19:23 +0000 (14:19 -0800)]
Object-based saving prototype: allow only named edges

Simplifies the logic a bit, and removes one source of potential checkpoint
incompatibilities.

Classes like Sequential which need anonymous references to other objects may
generate string names containing numbers.

PiperOrigin-RevId: 185050714

6 years agoDon't fail if control dependency is on an input of the function.
Akshay Modi [Thu, 8 Feb 2018 22:10:51 +0000 (14:10 -0800)]
Don't fail if control dependency is on an input of the function.

PiperOrigin-RevId: 185049319

6 years agoAdding tf_export decorators/calls to TensorFlow functions and constants.
Anna R [Thu, 8 Feb 2018 21:43:20 +0000 (13:43 -0800)]
Adding tf_export decorators/calls to TensorFlow functions and constants.

PiperOrigin-RevId: 185044705

6 years agoPrototype object-based save/restore syntax sugar
Allen Lavoie [Thu, 8 Feb 2018 21:38:50 +0000 (13:38 -0800)]
Prototype object-based save/restore syntax sugar

- Overrides __setattr__ to allow implicit dependencies
- Supports any valid Python 2 identifier as a Checkpointable dependency name (was messing with underscore prefixes)

PiperOrigin-RevId: 185044022

6 years agoPlumbs a variable from the batching function decorator to the queue depth control...
A. Unique TensorFlower [Thu, 8 Feb 2018 21:37:48 +0000 (13:37 -0800)]
Plumbs a variable from the batching function decorator to the queue depth control option in the underlying BatchingQueue. It defaults to 10 if not set, which was the original default value in the BatchingQueue options struct.

PiperOrigin-RevId: 185043844

6 years agoInternal functional _If and _While ops.
Alexandre Passos [Thu, 8 Feb 2018 21:30:17 +0000 (13:30 -0800)]
Internal functional _If and _While ops.

PiperOrigin-RevId: 185042663

6 years agoC API: Fixes #7394
Asim Shankar [Thu, 8 Feb 2018 21:17:53 +0000 (13:17 -0800)]
C API: Fixes #7394

Ideally, when TF_NewTensor is provided with invalid arguments it would provide
a detailed error message. However, for now, to keep the existing API, signal
failure by returning nullptr.

PiperOrigin-RevId: 185040858

6 years ago[TF:XLA] Handle fusion instructions in HloInstruction equality comparison.
A. Unique TensorFlower [Thu, 8 Feb 2018 21:00:09 +0000 (13:00 -0800)]
[TF:XLA] Handle fusion instructions in HloInstruction equality comparison.

Two fusion instructions are equal iff the fusion kind matches and the fused subcomputations are structurally equal.

PiperOrigin-RevId: 185038129

6 years agoBug fix in buffer assignment for colocated buffers
HyoukJoong Lee [Thu, 8 Feb 2018 20:30:28 +0000 (12:30 -0800)]
Bug fix in buffer assignment for colocated buffers

PiperOrigin-RevId: 185034095

6 years ago[XLA] Improve comment about why we can't unroll loops with static trip count of 1...
Justin Lebar [Thu, 8 Feb 2018 20:29:56 +0000 (12:29 -0800)]
[XLA] Improve comment about why we can't unroll loops with static trip count of 1 if they contain side-effecting ops.

PiperOrigin-RevId: 185034032

6 years agoAdd effective_sample_size to tf.contrib.bayesflow.mcmc_diagnostics.
Ian Langmore [Thu, 8 Feb 2018 20:15:32 +0000 (12:15 -0800)]
Add effective_sample_size to tf.contrib.bayesflow.mcmc_diagnostics.
Also, start dealing with list args in a more regular manner.

PiperOrigin-RevId: 185032115

6 years agoExpose python:platform build target.
A. Unique TensorFlower [Thu, 8 Feb 2018 20:04:37 +0000 (12:04 -0800)]
Expose python:platform build target.

PiperOrigin-RevId: 185030536

6 years agoAdding tf_export decorators/calls to TensorFlow functions and constants.
Anna R [Thu, 8 Feb 2018 19:40:28 +0000 (11:40 -0800)]
Adding tf_export decorators/calls to TensorFlow functions and constants.

PiperOrigin-RevId: 185026527

6 years agoChanging ".lite" to ".tflite" in documents.
Yu-Cheng Ling [Thu, 8 Feb 2018 19:40:05 +0000 (11:40 -0800)]
Changing ".lite" to ".tflite" in documents.

PiperOrigin-RevId: 185026484

6 years agoUpdate llvm revision to r324405, which introduces an Orc API change.
A. Unique TensorFlower [Thu, 8 Feb 2018 19:31:09 +0000 (11:31 -0800)]
Update llvm revision to r324405, which introduces an Orc API change.

PiperOrigin-RevId: 185025122

6 years ago[tf.data] Remove deprecated `tf.contrib.data.Iterator` alias.
Derek Murray [Thu, 8 Feb 2018 19:28:55 +0000 (11:28 -0800)]
[tf.data] Remove deprecated `tf.contrib.data.Iterator` alias.

This change removes the following class:
* `tf.contrib.data.Iterator`.

IF THIS BREAKS YOU: Replace `tf.contrib.data.Iterator` with `tf.data.Iterator`
when explicitly constructing an iterator. The API for the resulting object is
identical.

PiperOrigin-RevId: 185024771

6 years agoPreserving order when removing nodes.
A. Unique TensorFlower [Thu, 8 Feb 2018 19:20:39 +0000 (11:20 -0800)]
Preserving order when removing nodes.

PiperOrigin-RevId: 185023366

6 years agoUpdate the wrapper gen code to call out to the fastpath function.
Akshay Modi [Thu, 8 Feb 2018 18:42:01 +0000 (10:42 -0800)]
Update the wrapper gen code to call out to the fastpath function.

PiperOrigin-RevId: 185016979

6 years agoFix minor bug with tf.keras model calling (related to mask caching).
Francois Chollet [Thu, 8 Feb 2018 18:41:37 +0000 (10:41 -0800)]
Fix minor bug with tf.keras model calling (related to mask caching).

PiperOrigin-RevId: 185016910

6 years ago[tf.data] Remove deprecated reader dataset classes in `tf.contrib.data`.
Derek Murray [Thu, 8 Feb 2018 18:39:32 +0000 (10:39 -0800)]
[tf.data] Remove deprecated reader dataset classes in `tf.contrib.data`.

This change removes the following classes:
* `tf.contrib.data.FixedLengthRecordDataset`
* `tf.contrib.data.TextLineDataset`
* `tf.contrib.data.TFRecordDataset`

IF THIS BREAKS YOU: Replace `tf.contrib.data` with `tf.data` when constructing a
`FixedLengthRecordDataset`, `TextLineDataset`, or `TFRecordDataset`. Note that
you may have to modify downstream transformations to use the core API. See
"tensorflow/contrib/data/README.md" for details of how to update your code to use
the core API.

PiperOrigin-RevId: 185016587

6 years agoUpdate for LLVM API change r324405
A. Unique TensorFlower [Thu, 8 Feb 2018 18:37:40 +0000 (10:37 -0800)]
Update for LLVM API change r324405

PiperOrigin-RevId: 185016276

6 years agoRemove cudnn_type parameter from a few template member functions in class
Bixia Zheng [Thu, 8 Feb 2018 18:22:16 +0000 (10:22 -0800)]
Remove cudnn_type parameter from a few template member functions in class
CudnnSupport.

The cudnn_type value in those functions is implied by the device memory
type DeviceMemory<T> and is a compile-time constant.

PiperOrigin-RevId: 185013909

6 years agoMake MklCpuAllocator a VisitableAllocator, instead of just an Allocator.
A. Unique TensorFlower [Thu, 8 Feb 2018 18:20:26 +0000 (10:20 -0800)]
Make MklCpuAllocator a VisitableAllocator, instead of just an Allocator.
This allows it to work more efficiently with RDMA networking.

PiperOrigin-RevId: 185013628

6 years agoMake quantization rewrites happen in place.
Suharsh Sivakumar [Thu, 8 Feb 2018 17:34:49 +0000 (09:34 -0800)]
Make quantization rewrites happen in place.

If no graph is provided, then the default graph is used.

PiperOrigin-RevId: 185007107

6 years agoEnable algebraic optimizations for operations with neutral and absorbing elements...
A. Unique TensorFlower [Thu, 8 Feb 2018 17:29:32 +0000 (09:29 -0800)]
Enable algebraic optimizations for operations with neutral and absorbing elements by default - not only when feeds are absent or in aggressive mode.

PiperOrigin-RevId: 185006374

6 years agoMore updates:
A. Unique TensorFlower [Thu, 8 Feb 2018 17:03:30 +0000 (09:03 -0800)]
More updates:
 * add a verbose flag, useful for debugging
 * fix the canonicalization of old-style print statement
 * fix broken py_func wrapper
 * expand the conditional statement to return a dummy value if we cannot fine any return values, and call without an assignment so that the side effect guards catch it instead
 * streamline the converter tests a bit more
 * avoid aliasing "tf" and "self" in the side effect guards
 * improve the namer to generate shorter names

PiperOrigin-RevId: 185002802

6 years agoEmitting type-dependent cond and while_loop code.
A. Unique TensorFlower [Thu, 8 Feb 2018 15:36:03 +0000 (07:36 -0800)]
Emitting type-dependent cond and while_loop code.

PiperOrigin-RevId: 184993166

6 years agoPatch cub on download to fix compilation error with clang.
Ilya Biryukov [Thu, 8 Feb 2018 12:18:40 +0000 (04:18 -0800)]
Patch cub on download to fix compilation error with clang.

The same patch was sent via PR to cub upstream:
https://github.com/NVlabs/cub/pull/125

PiperOrigin-RevId: 184975304

6 years agoAutomated g4 rollback of changelist 184303789
A. Unique TensorFlower [Thu, 8 Feb 2018 11:18:36 +0000 (03:18 -0800)]
Automated g4 rollback of changelist 184303789

PiperOrigin-RevId: 184970903

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Thu, 8 Feb 2018 06:18:45 +0000 (22:18 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 184947099

6 years agoSwitch to using ResourceVariable in Keras for full Eager-mode compatibility.
Francois Chollet [Thu, 8 Feb 2018 05:56:28 +0000 (21:56 -0800)]
Switch to using ResourceVariable in Keras for full Eager-mode compatibility.

PiperOrigin-RevId: 184945626

6 years agoFixing the anchor link for the Math ops guide on Segmentation (it's a capital S but...
A. Unique TensorFlower [Thu, 8 Feb 2018 05:11:56 +0000 (21:11 -0800)]
Fixing the anchor link for the Math ops guide on Segmentation (it's a capital S but our docs link to a lowercase s).

PiperOrigin-RevId: 184942994

6 years agoTemporarily weaken Identity pruning in model_pruner while investigating test failure...
A. Unique TensorFlower [Thu, 8 Feb 2018 05:05:41 +0000 (21:05 -0800)]
Temporarily weaken Identity pruning in model_pruner while investigating test failure of //robotics/learning/sensor_predict:utils_multi_sensor_rnn_test.

PiperOrigin-RevId: 184942554

6 years agoMove TPU doc to "using_tpu". Add short titles to some docs.
Mark Daoust [Thu, 8 Feb 2018 04:50:09 +0000 (20:50 -0800)]
Move TPU doc to "using_tpu". Add short titles to some docs.

PiperOrigin-RevId: 184941101

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Thu, 8 Feb 2018 04:49:37 +0000 (20:49 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 184941052

6 years ago[tf.data] Move C++ code backing `tf.contrib.data.ignore_errors()` to contrib.
Derek Murray [Thu, 8 Feb 2018 04:17:11 +0000 (20:17 -0800)]
[tf.data] Move C++ code backing `tf.contrib.data.ignore_errors()` to contrib.

This change moves the `OpKernel` and `DatasetBase` implementations to
"tensorflow/contrib/data/kernels", where they are packaged as a custom
op library. This demonstrates (and enforces by continuous integration)
the ability to build a C++ Dataset implementation in a custom op
library.

Other contrib Dataset implementations will move in subsequent changes.

PiperOrigin-RevId: 184938885

6 years ago[XLA:CPU] Fix tfcompile's use of freeze_graph.py
Sanjoy Das [Thu, 8 Feb 2018 03:24:57 +0000 (19:24 -0800)]
[XLA:CPU] Fix tfcompile's use of freeze_graph.py

Not sure if I am holding it wrong, but I could not make the existing
FLAGS.check_version work.

PiperOrigin-RevId: 184935374

6 years agoReduce the number of concats to avoid test timeout.
Yao Zhang [Thu, 8 Feb 2018 02:11:51 +0000 (18:11 -0800)]
Reduce the number of concats to avoid test timeout.

PiperOrigin-RevId: 184929151

6 years agoRemove note about accumulator variables, since those are not added to TRAINABLE_VARIA...
A. Unique TensorFlower [Thu, 8 Feb 2018 01:16:32 +0000 (17:16 -0800)]
Remove note about accumulator variables, since those are not added to TRAINABLE_VARIABLES.

PiperOrigin-RevId: 184922273

6 years agoAdd operation to forward log messages from remote workers to a local system.
Russell Power [Thu, 8 Feb 2018 01:12:01 +0000 (17:12 -0800)]
Add operation to forward log messages from remote workers to a local system.

PiperOrigin-RevId: 184921657

6 years ago[XLA:CPU] Fix test case for vectorized Exp and Tanh to actually vectorize
Sanjoy Das [Thu, 8 Feb 2018 00:48:45 +0000 (16:48 -0800)]
[XLA:CPU] Fix test case for vectorized Exp and Tanh to actually vectorize

I just noticed that the test case for ArrayElementwiseOpTest::ExpF32sVector and
possibly for ArrayElementwiseOpTest::ExpF32sVector does not actually vectorize
the intrinsic calls.  This is most likely a very recent regression because I
remember fixing at least one issue in the emitter demonstrated by the test.
Despite that I think the current approach is better since we have unit tests
that check that we at least vectorize the vector-of-F32's case.

PiperOrigin-RevId: 184918373

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Thu, 8 Feb 2018 00:34:57 +0000 (16:34 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 184916250

6 years agoDisable internally failing array_ops test.
Michael Case [Thu, 8 Feb 2018 00:26:55 +0000 (16:26 -0800)]
Disable internally failing array_ops test.

PiperOrigin-RevId: 184915141

6 years agoRemove tf.contrib.ndlstm as it is not maintained and barely used.
Eugene Brevdo [Thu, 8 Feb 2018 00:24:34 +0000 (16:24 -0800)]
Remove tf.contrib.ndlstm as it is not maintained and barely used.

Users can find an external implementation by the original author at:

https://github.com/tmbarchive/tfndlstm

PiperOrigin-RevId: 184914822

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Wed, 7 Feb 2018 23:08:24 +0000 (15:08 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 184903402

6 years ago[XLA] Keep the number of HloPasses minimum for the interpreter backend.
Kay Zhu [Wed, 7 Feb 2018 22:51:03 +0000 (14:51 -0800)]
[XLA] Keep the number of HloPasses minimum for the interpreter backend.

This would be useful to identify bugs for these HLO passes.

PiperOrigin-RevId: 184900236

6 years agoMerge changes from github.
Michael Case [Wed, 7 Feb 2018 22:36:00 +0000 (14:36 -0800)]
Merge changes from github.

PiperOrigin-RevId: 184897758

6 years agoBetter documentation for contrib summaries.
Alexandre Passos [Wed, 7 Feb 2018 22:13:05 +0000 (14:13 -0800)]
Better documentation for contrib summaries.

Also all_summary_ops returns None in eager mode instead of error.

PiperOrigin-RevId: 184893777

6 years agoGeneralize quantization rewrite to not rely on names.
Suharsh Sivakumar [Wed, 7 Feb 2018 21:47:02 +0000 (13:47 -0800)]
Generalize quantization rewrite to not rely on names.

It should now work with most graphs regardless if they were built slim or not.

PiperOrigin-RevId: 184889280

6 years agoChange output of slim.learning.train to total_loss = None, if no training step was...
A. Unique TensorFlower [Wed, 7 Feb 2018 21:46:29 +0000 (13:46 -0800)]
Change output of slim.learning.train to total_loss = None, if no training step was actually performed.

PiperOrigin-RevId: 184889196

6 years ago[tf.data] Move the C++ Dataset class implementations to the framework library.
Derek Murray [Wed, 7 Feb 2018 21:44:30 +0000 (13:44 -0800)]
[tf.data] Move the C++ Dataset class implementations to the framework library.

This enables the use of the `DatasetOpKernel` subclasses in custom op library
code. A subsequent change will move `tf.contrib.data` kernel implementations
to a custom op library.

Implementation note: This change moves some classes from
"tensorflow/core/graph/..." into the framework library, which does not
include any code in "tensorflow/core/common_runtime/...". To break the
dependency from "tensorflow/core/framework/dataset.cc" to
"tensorflow/core/common_runtime/...", the `GraphDefBuilderToGraph()`
method has been split out from the `GraphDefBuilder` class (where it
was previously exposed as the `GraphDefBuilder::ToGraph()` utility
method) and added to a new
"tensorflow/core/graph/graph_def_builder_util.h" module.  This method
depends on ".../graph/graph_constructor.cc", which depends directly on
".../common_runtime/shape_refiner.h" and indirectly on
".../common_runtime/graph_runner.h". Since this method was used only
in tests, these have been updated to point to the new utility method.

PiperOrigin-RevId: 184888903

6 years agoMakefile flag to use Apple Accelerate for Conv on iOS.
Yu-Cheng Ling [Wed, 7 Feb 2018 21:39:01 +0000 (13:39 -0800)]
Makefile flag to use Apple Accelerate for Conv on iOS.

PiperOrigin-RevId: 184888096

6 years agoAdd BatchMatMul support and improve tensorflow graphdef export by adding ops and...
A. Unique TensorFlower [Wed, 7 Feb 2018 20:32:53 +0000 (12:32 -0800)]
Add BatchMatMul support and improve tensorflow graphdef export by adding ops and fixing typing and resolving constant Transpose ops.

PiperOrigin-RevId: 184878663

6 years agoSet the number of warmup steps for building the cost model.
Yao Zhang [Wed, 7 Feb 2018 20:29:25 +0000 (12:29 -0800)]
Set the number of warmup steps for building the cost model.

PiperOrigin-RevId: 184878186

6 years agoInitial XLA support for TF eager. This is prerequisite for TF compiler's XLA support.
Mingsheng Hong [Wed, 7 Feb 2018 20:22:55 +0000 (12:22 -0800)]
Initial XLA support for TF eager. This is prerequisite for TF compiler's XLA support.

This CL adds XLA support for the following TFE_Op's:

1. A TF op such as MatMul, with full support of constant and resource params.

2. A TF_Function as TFE_Op, where the function must have no constant and
resource params. Removing this restriction requires more discussion and will be
deferred to a later time.

PiperOrigin-RevId: 184877345

6 years agoUpdate TFLite iOS Camera Example app to use TFLite CocoaPod.
Yu-Cheng Ling [Wed, 7 Feb 2018 20:05:01 +0000 (12:05 -0800)]
Update TFLite iOS Camera Example app to use TFLite CocoaPod.

PiperOrigin-RevId: 184874871

6 years agoUpdate to type-dependent while loop, and tests for it.
A. Unique TensorFlower [Wed, 7 Feb 2018 20:01:40 +0000 (12:01 -0800)]
Update to type-dependent while loop, and tests for it.

PiperOrigin-RevId: 184874151

6 years agoPrototype for object-based save/restore
Allen Lavoie [Wed, 7 Feb 2018 19:48:15 +0000 (11:48 -0800)]
Prototype for object-based save/restore

Includes deferred restoration (mostly useful for eager execution).

Slot variables are created with their checkpointed values as soon as the variable they're slotting for is restored, so there's no need to override slot creation (optimizers already check for existing slot variables before creating a new one).

Changes the behavior of unnamed Checkpointable dependencies so that only other unnamed dependencies can interfere (named dependencies do not get a number). This should be a bit more robust, and will support property assignment syntax sugar in a future CL. It does mean that removing a name from a dependency will break the checkpoint (just like changing its name would).

One minor fix for slot creation eager compatibility.

PiperOrigin-RevId: 184871747

6 years agomake calling NNAPI work again
A. Unique TensorFlower [Wed, 7 Feb 2018 19:17:01 +0000 (11:17 -0800)]
make calling NNAPI work again
(this a copy of #16256 which apparently got lost in the one of the merges)

PiperOrigin-RevId: 184866202

6 years agoImprove model_pruner:
A. Unique TensorFlower [Wed, 7 Feb 2018 18:30:39 +0000 (10:30 -0800)]
Improve model_pruner:
  * Actually remove nodes marked for removal if fetches are known.
  * Remove trivial nodes even in the presence of control inputs, except
    for Identity nodes when
      a) they are anchored on an Identity following a Switch node and
         removal would require anchoring a control identity on the Switch, or
      b) they have control inputs and feed a Merge node.
  * Remove nodes only when in_degree * out_degree <= in_degree + out_degree.

Move input deduping utility function to utils.{h,cc}.

PiperOrigin-RevId: 184858685

6 years ago[XLA:CPU] Fix/suppress issues caught by the C++ linter
Sanjoy Das [Wed, 7 Feb 2018 18:18:53 +0000 (10:18 -0800)]
[XLA:CPU] Fix/suppress issues caught by the C++ linter

PiperOrigin-RevId: 184856538

6 years agoMake TypeError more explicit on _assertAllCloseRecursive
A. Unique TensorFlower [Wed, 7 Feb 2018 17:08:51 +0000 (09:08 -0800)]
Make TypeError more explicit on _assertAllCloseRecursive

PiperOrigin-RevId: 184846656

6 years agoAdding support for standalone Tanh operator.
A. Unique TensorFlower [Wed, 7 Feb 2018 17:01:44 +0000 (09:01 -0800)]
Adding support for standalone Tanh operator.

PiperOrigin-RevId: 184845130

6 years agoRefactor score definition in GMM operations. This is simplified to be the per-sample...
A. Unique TensorFlower [Wed, 7 Feb 2018 16:48:05 +0000 (08:48 -0800)]
Refactor score definition in GMM operations. This is simplified to be the per-sample likelihood of the data.

PiperOrigin-RevId: 184843634

6 years agoUtilities for type checking and multiple dispatch.
A. Unique TensorFlower [Wed, 7 Feb 2018 15:16:17 +0000 (07:16 -0800)]
Utilities for type checking and multiple dispatch.

PiperOrigin-RevId: 184834434

6 years agoSupport for quantized LstmCell, with initial reference runtime code.
A. Unique TensorFlower [Wed, 7 Feb 2018 14:30:32 +0000 (06:30 -0800)]
Support for quantized LstmCell, with initial reference runtime code.
The current 'optimized' code is just a copy of the reference code,
a true optimized implementation will follow separately.

PiperOrigin-RevId: 184830223

6 years ago[XLA:CPU] Assert more thoroughly on preconditions in VectorSupportlibrary
Sanjoy Das [Wed, 7 Feb 2018 07:55:28 +0000 (23:55 -0800)]
[XLA:CPU] Assert more thoroughly on preconditions in VectorSupportlibrary

No behavior change intended.

PiperOrigin-RevId: 184797003

6 years ago[XLA] Use HloVerifiedTestBase in AlgebraicSimplifierTest
Sanjoy Das [Wed, 7 Feb 2018 07:54:26 +0000 (23:54 -0800)]
[XLA] Use HloVerifiedTestBase in AlgebraicSimplifierTest

And fix the fallout.  Thanks to asbirlea@ for noticing this!

PiperOrigin-RevId: 184796949

6 years ago[XLA:CPU] Add an LLVM IR implementation of Exp
Sanjoy Das [Wed, 7 Feb 2018 06:48:48 +0000 (22:48 -0800)]
[XLA:CPU] Add an LLVM IR implementation of Exp

This lets us avoid the usual set of issues that crop up when XLA generated code
has to call into C++.

PiperOrigin-RevId: 184793093

6 years agoAdd pylint check for W0611 unused-import in ci_sanity.sh and fix existing pylint...
Yifei Feng [Wed, 7 Feb 2018 06:05:26 +0000 (22:05 -0800)]
Add pylint check for W0611 unused-import in ci_sanity.sh and fix existing pylint errors.

PiperOrigin-RevId: 184790548

6 years agoLSTM for TFlite/Toco
Zhixian Yan [Wed, 7 Feb 2018 05:32:48 +0000 (21:32 -0800)]
LSTM for TFlite/Toco

PiperOrigin-RevId: 184788311

6 years agoClear feed error on session start.
Russell Power [Wed, 7 Feb 2018 05:19:50 +0000 (21:19 -0800)]
Clear feed error on session start.

An existing hook can be re-used on a different session: rather than terminating
the session we should clear the error state.

PiperOrigin-RevId: 184787368

6 years agoTPUEstimator: Revert the global_step change and require the user to explicitly
Jonathan Hseu [Wed, 7 Feb 2018 04:40:00 +0000 (20:40 -0800)]
TPUEstimator: Revert the global_step change and require the user to explicitly
pass it.

PiperOrigin-RevId: 184784330

6 years ago[XLA:CPU] Use VectorSupportLibrary for LLVM IR implementation of tanh
Sanjoy Das [Wed, 7 Feb 2018 02:28:00 +0000 (18:28 -0800)]
[XLA:CPU] Use VectorSupportLibrary for LLVM IR implementation of tanh

No behavioral change intended; this is only refactoring.

VectorSupportLibrary was added after the LLVM IR implementation of tanh so the
tanh implementation was not using VectorSupportLibrary.

The main impetus for this change is that I'm about to add LLVM IR
implementations of Exp and Log, and those are going to use VectorSupportLibrary.
I did not want to have an inconsistency between the tanh and exp, log.

PiperOrigin-RevId: 184774860

6 years agoWe used to bypass fake-quant nodes in resolve_reorder_axes, as a hack as we
A. Unique TensorFlower [Wed, 7 Feb 2018 02:26:02 +0000 (18:26 -0800)]
We used to bypass fake-quant nodes in resolve_reorder_axes, as a hack as we
needed to preserve fake-quant nodes on constant weights as the only way to
encode min-max information when exporting to GraphDef.

Not anymore. Now we unconditionally enable the resolve_constant_fake_quant
transformation, and we don't do this bypass anymore; instead, when exporting
to GraphDef, we re-add FakeQuant nodes just before exporting, around
constant arrays that have minmax.

PiperOrigin-RevId: 184774680

6 years ago[tf.data] Fix a memory leak when an iterator is reinitialized many times in a session.
Derek Murray [Wed, 7 Feb 2018 01:37:02 +0000 (17:37 -0800)]
[tf.data] Fix a memory leak when an iterator is reinitialized many times in a session.

Previously, we would instantiate a new function handle for each
function in a dataset each time an iterator on that dataset was
initialized. These would only be deleted at session closure, which
could lead to an apparent leak of memory over the lifetime of session.

PiperOrigin-RevId: 184768730

6 years agoFix memory tracking in the case where temp memory is used as output memory.
Yuefeng Zhou [Wed, 7 Feb 2018 01:32:50 +0000 (17:32 -0800)]
Fix memory tracking in the case where temp memory is used as output memory.
Track all persistent memory allocation in allocate_persistent call except for variables and queues where persistent memory is tracked in variables ops and queue ops. Deallocation of persistent memory is ignored.

PiperOrigin-RevId: 184768231

6 years agoSync the opensource and non-opensource build
Andrew Selle [Wed, 7 Feb 2018 01:10:31 +0000 (17:10 -0800)]
Sync the opensource and non-opensource build

PiperOrigin-RevId: 184765632

6 years agoAddress Adagrad/RMSProp incompatibility with CudnnRNN
James Qin [Wed, 7 Feb 2018 00:25:59 +0000 (16:25 -0800)]
Address Adagrad/RMSProp incompatibility with CudnnRNN

CudnnRNN layers have variables of unknown shapes, which Adagrad/RMSProp didn't handle before.

This fixes 6620(#6620).

PiperOrigin-RevId: 184759579

6 years ago[XLA] Add and use new Literal::MakeTupleOwned overload.
Justin Lebar [Tue, 6 Feb 2018 23:30:40 +0000 (15:30 -0800)]
[XLA] Add and use new Literal::MakeTupleOwned overload.

Previously MakeTupleOwned was cumbersome to use, because you had to
explicitly materialize a vector<unique_ptr<Literal>>.  With this new
overload, you can pass unique_ptrs directly.

PiperOrigin-RevId: 184751119

6 years agoAdd read resource variable benchmarks.
Akshay Modi [Tue, 6 Feb 2018 23:13:41 +0000 (15:13 -0800)]
Add read resource variable benchmarks.

Initial benchmarks:
entry {
  name: "MicroBenchmarks.benchmark_read_variable_op_2_by_2_CPU"
  iters: 30000
  wall_time: 22.9616721471
  extras {
    key: "examples_per_sec"
    value {
      double_value: 43550.8352176
    }
  }
}

entry {
  name: "MicroBenchmarks.benchmark_read_variable_op_with_tape_2_by_2_CPU"
  iters: 30000
  wall_time: 27.3616631826
  extras {
    key: "examples_per_sec"
    value {
      double_value: 36547.4859232
    }
  }
}

PiperOrigin-RevId: 184748548

6 years agoCreates tf.contrib.feature_column module.
A. Unique TensorFlower [Tue, 6 Feb 2018 23:09:51 +0000 (15:09 -0800)]
Creates tf.contrib.feature_column module.

PiperOrigin-RevId: 184747924

6 years agoHandles possible infinite recursion in while loop fix.
Alexandre Passos [Tue, 6 Feb 2018 22:43:18 +0000 (14:43 -0800)]
Handles possible infinite recursion in while loop fix.

PiperOrigin-RevId: 184743192

6 years ago[TF Ops] Bugfix to Operation initializer: error message uses node_def.
Eugene Brevdo [Tue, 6 Feb 2018 22:37:21 +0000 (14:37 -0800)]
[TF Ops] Bugfix to Operation initializer: error message uses node_def.

self.node_def may not yet be accessible when using the C api.

PiperOrigin-RevId: 184742074

6 years agoAutomated g4 rollback of changelist 184551259
Joshua V. Dillon [Tue, 6 Feb 2018 22:17:52 +0000 (14:17 -0800)]
Automated g4 rollback of changelist 184551259

PiperOrigin-RevId: 184738583

6 years agoExport CXX11_ABI_FLAG and MONOLITHIC_BUILD constants.
Anna R [Tue, 6 Feb 2018 22:05:01 +0000 (14:05 -0800)]
Export CXX11_ABI_FLAG and MONOLITHIC_BUILD constants.

PiperOrigin-RevId: 184736216

6 years agoAnother rolling back of performance regression.
Alexandre Passos [Tue, 6 Feb 2018 21:54:56 +0000 (13:54 -0800)]
Another rolling back of performance regression.

PiperOrigin-RevId: 184734426

6 years agoMake TFE_Py_FastpathExecute work for all types of ops
Akshay Modi [Tue, 6 Feb 2018 21:53:56 +0000 (13:53 -0800)]
Make TFE_Py_FastpathExecute work for all types of ops

MatMul benchmarks:
entry {
  name: "MicroBenchmarks.benchmark_gen_math_ops_matmul_2_by_2_CPU"
  iters: 30000
  wall_time: 11.580435435
  extras {
    key: "examples_per_sec"
    value {
      double_value: 86352.538781
    }
  }
}

entry {
  name: "MicroBenchmarks.benchmark_tfe_py_fastpath_execute_matmul_2_by_2_CPU"
  iters: 30000
  wall_time: 7.02576637268
  extras {
    key: "examples_per_sec"
    value {
      double_value: 142333.227004
    }
  }
}

PiperOrigin-RevId: 184734289

6 years agoAdded support for nested functions
Benoit Steiner [Tue, 6 Feb 2018 21:48:55 +0000 (13:48 -0800)]
Added support for nested functions
Properly handle the case of control dependencies

PiperOrigin-RevId: 184733444

6 years agoAdd utility function which makes implicit `tf.get_variable` dependencies an
Joshua V. Dillon [Tue, 6 Feb 2018 21:03:03 +0000 (13:03 -0800)]
Add utility function which makes implicit `tf.get_variable` dependencies an
explicit argument of a callable.

PiperOrigin-RevId: 184725878

6 years agoFixing the issue where an escape character was being included in the branch name...
Amit Patankar [Tue, 6 Feb 2018 20:58:56 +0000 (12:58 -0800)]
Fixing the issue where an escape character was being included in the branch name changes.

PiperOrigin-RevId: 184725332

6 years ago[TF:XLA] Bump open source llvm revision to r324323
Sanjoy Das [Tue, 6 Feb 2018 20:57:07 +0000 (12:57 -0800)]
[TF:XLA] Bump open source llvm revision to r324323

PiperOrigin-RevId: 184725126

6 years agoFetch OpDefs from C API instead of using python op registry in ops.py.
Skye Wanderman-Milne [Tue, 6 Feb 2018 20:44:12 +0000 (12:44 -0800)]
Fetch OpDefs from C API instead of using python op registry in ops.py.

PiperOrigin-RevId: 184723558

6 years agoFixed typo
A. Unique TensorFlower [Tue, 6 Feb 2018 20:30:05 +0000 (12:30 -0800)]
Fixed typo

PiperOrigin-RevId: 184721743

6 years agotfdbg: deflake session_debug_file_test
Shanqing Cai [Tue, 6 Feb 2018 20:27:02 +0000 (12:27 -0800)]
tfdbg: deflake session_debug_file_test

by disabling grappler in the test.

PiperOrigin-RevId: 184721353