platform/upstream/tensorflow.git
6 years ago[XLA] Make HLO memory schedulers pluggable. Introduce a typedef MemorySchedulerAlgori...
Peter Hawkins [Tue, 20 Mar 2018 23:11:23 +0000 (16:11 -0700)]
[XLA] Make HLO memory schedulers pluggable. Introduce a typedef MemorySchedulerAlgorithm  which is a function instead of an enum to allow experimentation with non-standard schedulers. Refactoring only; no functional changes to the scheduling itself.

PiperOrigin-RevId: 189830685

6 years agoTweak statistical testing test to avoid making a zillion TF session.run calls.
A. Unique TensorFlower [Tue, 20 Mar 2018 22:10:07 +0000 (15:10 -0700)]
Tweak statistical testing test to avoid making a zillion TF session.run calls.

PiperOrigin-RevId: 189819449

6 years ago[XLA] Simplify the HLO proto: don't nest the fusion computation in an fusion HloInstr...
A. Unique TensorFlower [Tue, 20 Mar 2018 21:33:19 +0000 (14:33 -0700)]
[XLA] Simplify the HLO proto: don't nest the fusion computation in an fusion HloInstructionProto.

PiperOrigin-RevId: 189811729

6 years ago[tf.data] Improve docstring for `tf.contrib.data.Counter`.
Derek Murray [Tue, 20 Mar 2018 21:30:36 +0000 (14:30 -0700)]
[tf.data] Improve docstring for `tf.contrib.data.Counter`.

PiperOrigin-RevId: 189811108

6 years agoInternal Change.
Anjali Sridhar [Tue, 20 Mar 2018 21:23:39 +0000 (14:23 -0700)]
Internal Change.

PiperOrigin-RevId: 189809845

6 years agoMakes protobuf dep in tf.contrib.data conditional using if_static().
Terry Koo [Tue, 20 Mar 2018 20:39:42 +0000 (13:39 -0700)]
Makes protobuf dep in tf.contrib.data conditional using if_static().

In non-monolithic builds, adding it unconditionally would duplicate of protobuf symbols among tf.contrib op libraries.  Guarding it with if_static() restricts the dep to monolithic builds, which should be able to dedupe the symbols at link time.

PiperOrigin-RevId: 189800612

6 years agoBuild tflite interpreter from buffer in python interface
A. Unique TensorFlower [Tue, 20 Mar 2018 20:38:09 +0000 (13:38 -0700)]
Build tflite interpreter from buffer in python interface

PiperOrigin-RevId: 189800400

6 years agoImproved the performance of the function optimizer.
Benoit Steiner [Tue, 20 Mar 2018 20:34:02 +0000 (13:34 -0700)]
Improved the performance of the function optimizer.

PiperOrigin-RevId: 189799697

6 years agoIn allocate_transient_arrays.cc, was not handling the case where the same
A. Unique TensorFlower [Tue, 20 Mar 2018 20:02:36 +0000 (13:02 -0700)]
In allocate_transient_arrays.cc, was not handling the case where the same
array occurs more than once in the list of inputs or outputs of a node.

PiperOrigin-RevId: 189794090

6 years agoTFBT: Pass label_keys to the head class constructor.
A. Unique TensorFlower [Tue, 20 Mar 2018 19:56:51 +0000 (12:56 -0700)]
TFBT: Pass label_keys to the head class constructor.

PiperOrigin-RevId: 189793004

6 years agoAdd broadcasting support for fused add or sub.
Mingxing Tan [Tue, 20 Mar 2018 19:54:01 +0000 (12:54 -0700)]
Add broadcasting support for fused add or sub.

PiperOrigin-RevId: 189792542

6 years ago[TF:XLA] Bump open source llvm revision to r327958
Sanjoy Das [Tue, 20 Mar 2018 19:51:50 +0000 (12:51 -0700)]
[TF:XLA] Bump open source llvm revision to r327958

PiperOrigin-RevId: 189792132

6 years agoImproved accuracy of op_level_cost_estimator (QuantizeV2, Dequantize, Gather).
Max Galkin [Tue, 20 Mar 2018 18:45:23 +0000 (11:45 -0700)]
Improved accuracy of op_level_cost_estimator (QuantizeV2, Dequantize, Gather).

PiperOrigin-RevId: 189779691

6 years agoDon't run tensorflow/python:function_test under asan.
A. Unique TensorFlower [Tue, 20 Mar 2018 18:36:07 +0000 (11:36 -0700)]
Don't run tensorflow/python:function_test under asan.

It gets flaky timeouts.

PiperOrigin-RevId: 189777986

6 years agoThe Quantized BroadcastSub portion of #17123
A. Unique TensorFlower [Tue, 20 Mar 2018 18:27:54 +0000 (11:27 -0700)]
The Quantized BroadcastSub portion of #17123

PiperOrigin-RevId: 189776376

6 years agoUpdate version of nsync used by TensorFlow.
A. Unique TensorFlower [Tue, 20 Mar 2018 18:21:40 +0000 (11:21 -0700)]
Update version of nsync used by TensorFlow.

The primary change is that on Linux, the C++11 build of nsync will now use
underlying system primitives to implement a semaphore instead of the C++11
primitives, which are currently surprisingly slow on Linux.

PiperOrigin-RevId: 189775201

6 years agoUse 32 bit induction variable in gather expander
Sanjoy Das [Tue, 20 Mar 2018 18:13:48 +0000 (11:13 -0700)]
Use 32 bit induction variable in gather expander

Right now this is unconditional (and we fail with Unimplemented() if a 32 bit
induction variable is not large enough), but eventually we may want to be
smarter about this.

PiperOrigin-RevId: 189773581

6 years agoReplace std::clock with random::New64() for setting random seed
A. Unique TensorFlower [Tue, 20 Mar 2018 18:12:47 +0000 (11:12 -0700)]
Replace std::clock with random::New64() for setting random seed

PiperOrigin-RevId: 189773399

6 years agoAdd support for automatically wrapping NumPy functions based on a whitelist.
A. Unique TensorFlower [Tue, 20 Mar 2018 18:04:44 +0000 (11:04 -0700)]
Add support for automatically wrapping NumPy functions based on a whitelist.

PiperOrigin-RevId: 189771575

6 years agoRevise the main API for more consistent notation and add a supplemental shortcut...
A. Unique TensorFlower [Tue, 20 Mar 2018 16:27:24 +0000 (09:27 -0700)]
Revise the main API for more consistent notation and add a supplemental shortcut to mark functions as "run in py_func". This is an intermediate step to simplifying the execution of plotting code.

PiperOrigin-RevId: 189753509

6 years agoFixed the bug that the export code triggers the TPU validation.
Jianwei Xie [Tue, 20 Mar 2018 15:32:30 +0000 (08:32 -0700)]
Fixed the bug that the export code triggers the TPU validation.

PiperOrigin-RevId: 189745966

6 years agotfdbg: Curses CLI: Fill line-end whitespace with default color pair
Shanqing Cai [Tue, 20 Mar 2018 15:08:48 +0000 (08:08 -0700)]
tfdbg: Curses CLI: Fill line-end whitespace with default color pair

to prevent spurious color pairs from appearing in certain text
terminal environments.

RELNOTES: Bug fix: tfdbg curses CLI: fix spurious background colors in some text terminals.
PiperOrigin-RevId: 189742433

6 years agoDrop name_scope from operation names during quantization to avoid doubling it up.
A. Unique TensorFlower [Tue, 20 Mar 2018 14:27:16 +0000 (07:27 -0700)]
Drop name_scope from operation names during quantization to avoid doubling it up.

PiperOrigin-RevId: 189737746

6 years agoMake TensorSpec and BoundedTensorSpec serializable.
A. Unique TensorFlower [Tue, 20 Mar 2018 13:28:09 +0000 (06:28 -0700)]
Make TensorSpec and BoundedTensorSpec serializable.

PiperOrigin-RevId: 189731737

6 years agoAdds float64 support for avg pool and its gradient.
Brian Patton [Tue, 20 Mar 2018 13:25:19 +0000 (06:25 -0700)]
Adds float64 support for avg pool and its gradient.

Eigen NumTraits is modified to directly use std::numeric_limits, which resolves a broken test caused by inconsistency between the host and devices values of Eigen::NumTraits<double>::highest(). This returns +inf on device, due to third_party/eigen3/Eigen/src/Core/util/Meta.h, and __DBL_MAX__ (1.7976931348623157e+308) on host, making the behavior for doubles (on device) inconsistent with both the behavior of floats Eigen::NumTraits<float>::highest() and the behavior of std::numeric_limits<double>::max()

PiperOrigin-RevId: 189731521

6 years agoDon't spin in a loop when we're not waiting on any GPU events.
Justin Lebar [Tue, 20 Mar 2018 10:48:38 +0000 (03:48 -0700)]
Don't spin in a loop when we're not waiting on any GPU events.

PiperOrigin-RevId: 189719711

6 years ago- Added support for data to be specified in RNN classes as large tensors with time...
A. Unique TensorFlower [Tue, 20 Mar 2018 10:11:32 +0000 (03:11 -0700)]
- Added support for data to be specified in RNN classes as large tensors with time folded into the batch dimension instead of lists of tensors
- Significant refactoring of RNN classes
- Fixed a bunch of issues in the LayerCollection docstrings, especially around the 'reuse' argument.

PiperOrigin-RevId: 189716331

6 years agoFix bug
A. Unique TensorFlower [Tue, 20 Mar 2018 09:26:31 +0000 (02:26 -0700)]
Fix bug

PiperOrigin-RevId: 189712233

6 years agoFix some edge cases around scalar indices in the gather expander
Sanjoy Das [Tue, 20 Mar 2018 06:15:42 +0000 (23:15 -0700)]
Fix some edge cases around scalar indices in the gather expander

I discovered these when changing the tf2xla bridge to directly emit gather
operations.

 - DeScalarizeGatherIndices was assuming that gather_indices must be of at least
   rank 1.  Fix this to be more general.

 - We were passing in the wrong version of gather indices to
   ExpandFirstDimIntoNDims.  We don't strictly need to pass in
   transposed_gather_indices (since if transposed_gather_indices is rank 1 then
   the transpose has to be an identity transpose), passing in
   descalarized_gather_indices would also have been fine, but
   transposed_gather_indices seems more uniform.

 - ExpandGatherDimsInAccumulator was assuming that gather_indices must be of at
   least rank 1 (by calling CollapseFirstNDims).  Fix this to be more general.

 - We were trying to go through with emitting zero sized gather operations.  I
   don't think it is worth dealing with all of the edge cases this would expose
   so now we just punt to ZeroSizedHloElimination.

PiperOrigin-RevId: 189696444

6 years agoPredictions have to be updated for exported output signatures
A. Unique TensorFlower [Tue, 20 Mar 2018 05:56:01 +0000 (22:56 -0700)]
Predictions have to be updated for exported output signatures

PiperOrigin-RevId: 189694707

6 years agoAdded infeed support for experimental C APIs associated with TPU graph rewrite.
Mingsheng Hong [Tue, 20 Mar 2018 05:29:33 +0000 (22:29 -0700)]
Added infeed support for experimental C APIs associated with TPU graph rewrite.

This initial design of the C API is different from (and mostly higher level
than) the python API counterparts for infeed, in that the python API has
explicit graph construction APIs for generating infeed enqueue/dequeue
ops (e.g. split_inputs_and_generate_enqueue_ops() and generate_dequeue_op()),
while the C API takes an input graph and redirects all input nodes to feed the
infeed enqueue.

One requirement/restriction is that the input nodes in the TF
graph (e.g. Placeholder) must specify their tensor shapes, for infeed enqueue
and dequeue nodes to properly compile with XLA. The API for more general shape
support will be designed and implemented later.

PiperOrigin-RevId: 189693028

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Tue, 20 Mar 2018 04:45:45 +0000 (21:45 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 189690096

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Tue, 20 Mar 2018 04:18:06 +0000 (21:18 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 189688675

6 years agoAdd `ostream<<` to `tensorflow::TensorShapeBase`.
A. Unique TensorFlower [Tue, 20 Mar 2018 03:55:51 +0000 (20:55 -0700)]
Add `ostream<<` to `tensorflow::TensorShapeBase`.

Reason: Allow `LOG(ERROR) << shape` (currently disallowed).
PiperOrigin-RevId: 189687162

6 years agoQuantize bypasses after activations.
Suharsh Sivakumar [Tue, 20 Mar 2018 03:42:00 +0000 (20:42 -0700)]
Quantize bypasses after activations.

PiperOrigin-RevId: 189686219

6 years agoAlways imports the contrib summary ops when importing tensorflow.
Alexandre Passos [Tue, 20 Mar 2018 03:21:45 +0000 (20:21 -0700)]
Always imports the contrib summary ops when importing tensorflow.

Fixes #17802

PiperOrigin-RevId: 189684619

6 years agoAdds final partial batch support for TPUEstimator.predict.
Jianwei Xie [Tue, 20 Mar 2018 03:06:26 +0000 (20:06 -0700)]
Adds final partial batch support for TPUEstimator.predict.

PiperOrigin-RevId: 189683528

6 years agoApply output_min/output_max to the result in the NEON implementation of Add operator.
A. Unique TensorFlower [Tue, 20 Mar 2018 02:58:03 +0000 (19:58 -0700)]
Apply output_min/output_max to the result in the NEON implementation of Add operator.

Both non-NEON and reference implementation have this, but it's missing from NEON version.

PiperOrigin-RevId: 189682984

6 years agoHandle non-broadcastables shapes in eager assert_equal
Igor Ganichev [Tue, 20 Mar 2018 02:52:06 +0000 (19:52 -0700)]
Handle non-broadcastables shapes in eager assert_equal

Before this change assert_equal would fail when producing an error
message for non-equal shapes because array_ops.boolean_mask only
works for equal shapes.

This part of the error message is fairly confusing in presence
of non-equal shapes. This change removes it.

PiperOrigin-RevId: 189682518

6 years agoAvoid attaching fqn annotations to live values that don't have a `__name__`.
A. Unique TensorFlower [Tue, 20 Mar 2018 02:30:23 +0000 (19:30 -0700)]
Avoid attaching fqn annotations to live values that don't have a `__name__`.

PiperOrigin-RevId: 189680937

6 years agoDisable freeze_bn_delay by default.
Suharsh Sivakumar [Tue, 20 Mar 2018 02:24:26 +0000 (19:24 -0700)]
Disable freeze_bn_delay by default.

PiperOrigin-RevId: 189680481

6 years agoUpdate GraphProperties comments
A. Unique TensorFlower [Tue, 20 Mar 2018 02:24:24 +0000 (19:24 -0700)]
Update GraphProperties comments

PiperOrigin-RevId: 189680477

6 years agoMake L2 norm computation more stable.
Surya Bhupatiraju [Tue, 20 Mar 2018 01:51:06 +0000 (18:51 -0700)]
Make L2 norm computation more stable.

Avoids the potentially numerically instable square root in the linalg_ops.norm() function because we 'undo' that operation with a math_ops.square() operation anyway.

PiperOrigin-RevId: 189677716

6 years agoExport tf.GradientTape
Asim Shankar [Tue, 20 Mar 2018 01:32:13 +0000 (18:32 -0700)]
Export tf.GradientTape

tf.GradientTape can be used both for eager execution and graph construction
to compute gradients (unlike tf.gradients, which works only for graph
construction).

PiperOrigin-RevId: 189676004

6 years agoSupport general permutation.
A. Unique TensorFlower [Tue, 20 Mar 2018 01:20:12 +0000 (18:20 -0700)]
Support general permutation.

PiperOrigin-RevId: 189675019

6 years agoAdd docstring pointing to tf.contrib.quantize.
Suharsh Sivakumar [Tue, 20 Mar 2018 00:56:02 +0000 (17:56 -0700)]
Add docstring pointing to tf.contrib.quantize.

PiperOrigin-RevId: 189672549

6 years agoRegister gradient for argmin (cf. #15278).
Martin Wicke [Tue, 20 Mar 2018 00:50:05 +0000 (17:50 -0700)]
Register gradient for argmin (cf. #15278).

PiperOrigin-RevId: 189671974

6 years ago add option to save trace table to model directory's profile plugin subdirectory.
A. Unique TensorFlower [Tue, 20 Mar 2018 00:45:10 +0000 (17:45 -0700)]
  add option to save trace table to model directory's profile plugin subdirectory.

PiperOrigin-RevId: 189671290

6 years agoStandardize bib references and Examples subsection in docstrings.
Dustin Tran [Tue, 20 Mar 2018 00:41:25 +0000 (17:41 -0700)]
Standardize bib references and Examples subsection in docstrings.

Recipe:

+ Write a #### Examples subsection below Args/Returns/Raises to illustrate examples. If the docstring's last line is a ``` closing a code snippet, add an empty line before closing the docstring with """. This properly displays the code snippet.

+ Write a #### References subsection at the bottom of any docstring with citations. Enumerate all references in alphabetical order. Individual bibentries use ICLR?s bibliography style, which borrows from icml2010.bst and which itself borrows from plainnl.bst. Add a link to the paper if the publication is open source (ideally, arXiv).

PiperOrigin-RevId: 189670932

6 years agoMake _USE_C_API = True and_USE_C_SHAPES = False work with import_graph_def.
Skye Wanderman-Milne [Tue, 20 Mar 2018 00:34:47 +0000 (17:34 -0700)]
Make _USE_C_API = True and_USE_C_SHAPES = False work with import_graph_def.

Without this change, shapes wouldn't be correctly computed for
operations created via import_graph_def.

PiperOrigin-RevId: 189670312

6 years agoAdd a clif build rule for saved_model.
A. Unique TensorFlower [Tue, 20 Mar 2018 00:29:19 +0000 (17:29 -0700)]
Add a clif build rule for saved_model.

PiperOrigin-RevId: 189669509

6 years agoImprove flatbuffer verification.
A. Unique TensorFlower [Tue, 20 Mar 2018 00:23:20 +0000 (17:23 -0700)]
Improve flatbuffer verification.

PiperOrigin-RevId: 189668634

6 years ago[tf.data] Combine implementations of FlatMapDataset, InterleaveDataset and ParallelIn...
Derek Murray [Tue, 20 Mar 2018 00:13:11 +0000 (17:13 -0700)]
[tf.data] Combine implementations of FlatMapDataset, InterleaveDataset and ParallelInterleaveDataset.

PiperOrigin-RevId: 189667086

6 years agoFix test failure
Yuefeng Zhou [Tue, 20 Mar 2018 00:04:28 +0000 (17:04 -0700)]
Fix test failure

PiperOrigin-RevId: 189666053

6 years agoAutomated g4 rollback of changelist 188440916
Lukasz Kaiser [Mon, 19 Mar 2018 23:56:44 +0000 (16:56 -0700)]
Automated g4 rollback of changelist 188440916

PiperOrigin-RevId: 189664854

6 years agoDisable lstm test in generated_example due to state non-definitive init.
Zhixian Yan [Mon, 19 Mar 2018 22:50:02 +0000 (15:50 -0700)]
Disable lstm test in generated_example due to state non-definitive init.

PiperOrigin-RevId: 189654943

6 years agoA few changes to improve the real data performance:
Xiaoqiang Zheng [Mon, 19 Mar 2018 22:40:37 +0000 (15:40 -0700)]
A few changes to improve the real data performance:
* Turn off the force_gpu_compatible by default.
* Move the cast operator within the processing operator.
* Have the map_and_batch operator produce gpu_compatible output.
* Add an option to produce fp16 tensors for network transfer by default.

On DGX-1 V100, with resnet50, I got 5050 images/sec on real data, 5395 images/sec on synthetic data.
With trivial model, I got 13000+ images/sec on real data.

PiperOrigin-RevId: 189653575

6 years agoRun flatbuffer verifier before reading a TFLITE file into toco.
A. Unique TensorFlower [Mon, 19 Mar 2018 22:13:53 +0000 (15:13 -0700)]
Run flatbuffer verifier before reading a TFLITE file into toco.

PiperOrigin-RevId: 189649236

6 years agoUse fully-qualified function names and avoid the need to replace attributes.
A. Unique TensorFlower [Mon, 19 Mar 2018 22:09:23 +0000 (15:09 -0700)]
Use fully-qualified function names and avoid the need to replace attributes.

PiperOrigin-RevId: 189648496

6 years agoAllowing the FunctionBufferingResource to be passed in thread_pool_size=0 in which...
Rohan Jain [Mon, 19 Mar 2018 22:06:40 +0000 (15:06 -0700)]
Allowing the FunctionBufferingResource to be passed in thread_pool_size=0 in which case we wouldn't pass in a runner to the FLR::Run call and rely on the underlying device threadpool instead.

PiperOrigin-RevId: 189648051

6 years agoMaintain an updateable map of devices in the eager context.
Akshay Modi [Mon, 19 Mar 2018 21:57:09 +0000 (14:57 -0700)]
Maintain an updateable map of devices in the eager context.

PiperOrigin-RevId: 189646358

6 years agoFix build breakage with downloadable clang and -fopenmp.
Ilya Biryukov [Mon, 19 Mar 2018 21:48:23 +0000 (14:48 -0700)]
Fix build breakage with downloadable clang and -fopenmp.

By disabling openmp when building with clang.
If we want to enable openmp with clang, we'll probably have to have libomp as
an explicit dependency.

This fixes a breakage found by OS CI:
https://ci.tensorflow.org/view/Nightly/job/nightly-matrix-linux-gpu-clang/215/

PiperOrigin-RevId: 189644968

6 years agoTFLite Delegate: Add an `allow_dynamic_tensors` parameter.
Yu-Cheng Ling [Mon, 19 Mar 2018 21:27:52 +0000 (14:27 -0700)]
TFLite Delegate: Add an `allow_dynamic_tensors` parameter.

PiperOrigin-RevId: 189641833

6 years agoEnable stack push removal optimization by default.
A. Unique TensorFlower [Mon, 19 Mar 2018 21:27:06 +0000 (14:27 -0700)]
Enable stack push removal optimization by default.

PiperOrigin-RevId: 189641729

6 years agoTurned on gradient optimization by default
Benoit Steiner [Mon, 19 Mar 2018 21:24:00 +0000 (14:24 -0700)]
Turned on gradient optimization by default

PiperOrigin-RevId: 189641300

6 years agoAdd a helper that allows constructing simple expression ASTs from string. Useful...
A. Unique TensorFlower [Mon, 19 Mar 2018 21:09:52 +0000 (14:09 -0700)]
Add a helper that allows constructing simple expression ASTs from string. Useful to simplify the representation of composite symbols, e.g. 'py2tf.foo'.

PiperOrigin-RevId: 189638901

6 years agoAutomated g4 rollback of changelist 189416074
Derek Murray [Mon, 19 Mar 2018 20:44:23 +0000 (13:44 -0700)]
Automated g4 rollback of changelist 189416074

PiperOrigin-RevId: 189634491

6 years agoMoves TFE_Executor to tensorflow::EagerExecutor in tensorflow/core/common_runtime...
Alexandre Passos [Mon, 19 Mar 2018 20:43:50 +0000 (13:43 -0700)]
Moves TFE_Executor to tensorflow::EagerExecutor in tensorflow/core/common_runtime/eager

PiperOrigin-RevId: 189634404

6 years agoTFE: Fix bug encountered when using `optimizer.apply_gradients` in a defun.
Akshay Agrawal [Mon, 19 Mar 2018 20:38:23 +0000 (13:38 -0700)]
TFE: Fix bug encountered when using `optimizer.apply_gradients` in a defun.

Prior to this change, `Optimizer` assumed that `not
context.executing_eagerly()` implied that every variable that it was to update
was constructed in a graph. That assumption is incorrect --- TensorFlow
functions can mutate variables captured from or lifted into the eager context. As such, this change removes that assumption.

Fixes #17792

PiperOrigin-RevId: 189633630

6 years agoAdd bfloat16 support for CPU ops.
A. Unique TensorFlower [Mon, 19 Mar 2018 20:26:19 +0000 (13:26 -0700)]
Add bfloat16 support for CPU ops.

PiperOrigin-RevId: 189631659

6 years agoExtract GraphOptimizer{Stage,Context}, and use it as a base class
A. Unique TensorFlower [Mon, 19 Mar 2018 20:03:22 +0000 (13:03 -0700)]
Extract GraphOptimizer{Stage,Context}, and use it as a base class
in ArithmeticOptimizer.

PiperOrigin-RevId: 189628227

6 years agoCheckpointable: Small cleanup making better use of NewCheckpointReader.
Allen Lavoie [Mon, 19 Mar 2018 20:01:58 +0000 (13:01 -0700)]
Checkpointable: Small cleanup making better use of NewCheckpointReader.

PiperOrigin-RevId: 189627956

6 years ago Add a map from TPU core id to name to TfOpStats.
A. Unique TensorFlower [Mon, 19 Mar 2018 19:15:59 +0000 (12:15 -0700)]
  Add a map from TPU core id to name to TfOpStats.

PiperOrigin-RevId: 189620850

6 years agoDo not use SparseMatmul to for bfloat16 as Matmul is already supported.
A. Unique TensorFlower [Mon, 19 Mar 2018 18:29:44 +0000 (11:29 -0700)]
Do not use SparseMatmul to for bfloat16 as Matmul is already supported.

PiperOrigin-RevId: 189614197

6 years agoInternal change
A. Unique TensorFlower [Mon, 19 Mar 2018 18:27:45 +0000 (11:27 -0700)]
Internal change

PiperOrigin-RevId: 189613870

6 years agoOptimizations to DepthwiseConv
A. Unique TensorFlower [Mon, 19 Mar 2018 18:11:28 +0000 (11:11 -0700)]
Optimizations to DepthwiseConv

PiperOrigin-RevId: 189610985

6 years agoDocumentation tweaks and tests for GradientTape with graph execution.
Asim Shankar [Mon, 19 Mar 2018 17:37:00 +0000 (10:37 -0700)]
Documentation tweaks and tests for GradientTape with graph execution.

PiperOrigin-RevId: 189604536

6 years agoFix misc typos in tensorflow/compiler/xla.
A. Unique TensorFlower [Mon, 19 Mar 2018 16:50:00 +0000 (09:50 -0700)]
Fix misc typos in tensorflow/compiler/xla.

PiperOrigin-RevId: 189596520

6 years agoSimple rewrite to remove negation nodes.
A. Unique TensorFlower [Mon, 19 Mar 2018 16:43:59 +0000 (09:43 -0700)]
Simple rewrite to remove negation nodes.

PiperOrigin-RevId: 189595735

6 years agoRefactor code to improve TensorDataSet construction speed.
A. Unique TensorFlower [Mon, 19 Mar 2018 16:42:14 +0000 (09:42 -0700)]
Refactor code to improve TensorDataSet construction speed.

PiperOrigin-RevId: 189595482

6 years agoRemove a few unused #includes
A. Unique TensorFlower [Mon, 19 Mar 2018 16:28:58 +0000 (09:28 -0700)]
Remove a few unused #includes

PiperOrigin-RevId: 189593522

6 years agoAdds missing protobuf dep to tf.contrib.data ops.
A. Unique TensorFlower [Mon, 19 Mar 2018 14:29:45 +0000 (07:29 -0700)]
Adds missing protobuf dep to tf.contrib.data ops.

PiperOrigin-RevId: 189580464

6 years agoAdding non-linear image warping ops to tf.contrib.image
A. Unique TensorFlower [Mon, 19 Mar 2018 13:27:00 +0000 (06:27 -0700)]
Adding non-linear image warping ops to tf.contrib.image

New ops are:
tf.contrib.image.sparse_image_warp, tf.contrib.image.dense_image_warp, and tf.contrib.image.interpolate_spline.

PiperOrigin-RevId: 189574951

6 years agoAdd new helpers to HLO sharding.
A. Unique TensorFlower [Mon, 19 Mar 2018 12:01:05 +0000 (05:01 -0700)]
Add new helpers to HLO sharding.

PiperOrigin-RevId: 189569053

6 years agoAdd precision and recall metrics to _BinaryLogisticHeadWithSigmoidCrossEntropyLoss.
A. Unique TensorFlower [Sun, 18 Mar 2018 22:18:06 +0000 (15:18 -0700)]
Add precision and recall metrics to _BinaryLogisticHeadWithSigmoidCrossEntropyLoss.

This change makes most of the binary classifiers in the canned estimators provide precision and recall metrics during evaluation. This matches the behavior of the canned estimators defined in the deprecated tf.contrib.learn.estimator.

PiperOrigin-RevId: 189522420

6 years agoFix build
A. Unique TensorFlower [Sun, 18 Mar 2018 14:48:30 +0000 (07:48 -0700)]
Fix build

PiperOrigin-RevId: 189506945

6 years agoNormally tf2xla (autoclustering, jit_scope and rewrite) rely on graph optimization
A. Unique TensorFlower [Sat, 17 Mar 2018 18:21:02 +0000 (11:21 -0700)]
Normally tf2xla (autoclustering, jit_scope and rewrite) rely on graph optimization
passes to outline subgraphs. The XLA device itself only sees Compute() calls for
_XlaLaunch ops. All other ops are registered with a dummy op factory that just
prints an error.

This patch adds an alternative, selected at registration time, that disables
default graph optimization and instead registers a non-dummy op implementation.

This op implementation compiles the op "on demand"; it generates a fake graph containing
_Arg and _Retval nodes and calls into the XlaCompiler code as usual.

This allows the device to be used as a "normal" TensorFlow device, as well as from
Eager mode, at the expense of performance.

Later additions will add the ability to create traces to amortize kernel launch overhead,
and the ability to combine op-by-op/tracing and autoclustering with jit_scope annotations.

PiperOrigin-RevId: 189463593

6 years ago[XLA] Fix points-to set calculation in HLO ListScheduler.
Peter Hawkins [Sat, 17 Mar 2018 16:57:03 +0000 (09:57 -0700)]
[XLA] Fix points-to set calculation in HLO ListScheduler.

Previously the list scheduler considered that an instruction used only the buffers defined by its operands. This is inaccurate in the presence of aliasing?an instruction may potentially use anything in the points-to set of the operand, including buffers defined by an ancestor of an operand. Change to use the full points-to set instead.

PiperOrigin-RevId: 189460681

6 years agoUpdate docs for fake quant to reflect support for bitwidths from 2 to 16 inclusive.
Raghuraman Krishnamoorthi [Sat, 17 Mar 2018 02:26:56 +0000 (19:26 -0700)]
Update docs for fake quant to reflect support for bitwidths from 2 to 16 inclusive.

PiperOrigin-RevId: 189426173

6 years agoAutomated g4 rollback of changelist 189228094
Derek Murray [Sat, 17 Mar 2018 00:10:16 +0000 (17:10 -0700)]
Automated g4 rollback of changelist 189228094

PiperOrigin-RevId: 189416074

6 years agoAdd user_ops.my_fact to the new TensorFlow API.
Anna R [Sat, 17 Mar 2018 00:05:51 +0000 (17:05 -0700)]
Add user_ops.my_fact to the new TensorFlow API.

PiperOrigin-RevId: 189415577

6 years agoTFTS: Allow cold-starting from SavedModels
Allen Lavoie [Sat, 17 Mar 2018 00:00:17 +0000 (17:00 -0700)]
TFTS: Allow cold-starting from SavedModels

This means the model starts from its default start state and is fed a series
(filtering) to warm up its state. This warmed up state can then be used to
make predictions.

Some shape fiddling with the receiver_fn to make feeding state optional, and a
new signature for cold-starting which uses the model's default start state.

Some other shape fiddling to make feeding strings to SavedModels work more
smoothly in the cold-start part of the LSTM example. I was squeezing out the
last dimension of "scalar" exogenous features, now I'm leaving them, which
matches the placeholder generation logic.

PiperOrigin-RevId: 189414869

6 years agoRelax "_output_shapes" error checking in C++ graph importer.
Skye Wanderman-Milne [Fri, 16 Mar 2018 23:27:02 +0000 (16:27 -0700)]
Relax "_output_shapes" error checking in C++ graph importer.

This is to make the behavior inline with what Python's
import_graph_def does. It'd probably be better to raise an error, but
some people are already depending on the import_graph_def behavior in
order to import modified ops.

PiperOrigin-RevId: 189411025

6 years agoAlways sets self._built in tfe.metrics when build() is called.
Alexandre Passos [Fri, 16 Mar 2018 23:10:46 +0000 (16:10 -0700)]
Always sets self._built in tfe.metrics when build() is called.

PiperOrigin-RevId: 189408745

6 years agoDeleted dead code
Benoit Steiner [Fri, 16 Mar 2018 23:07:06 +0000 (16:07 -0700)]
Deleted dead code

PiperOrigin-RevId: 189408200

6 years agoIncrease kMaxEagerTensorParentSize to 64.
A. Unique TensorFlower [Fri, 16 Mar 2018 23:00:11 +0000 (16:00 -0700)]
Increase kMaxEagerTensorParentSize to 64.

PiperOrigin-RevId: 189407226

6 years agoRemove identity transpose nodes.
A. Unique TensorFlower [Fri, 16 Mar 2018 22:55:14 +0000 (15:55 -0700)]
Remove identity transpose nodes.

PiperOrigin-RevId: 189406518

6 years agoConsolidate all moving_average updates in batchnorm into one implementation.
Yuefeng Zhou [Fri, 16 Mar 2018 22:36:15 +0000 (15:36 -0700)]
Consolidate all moving_average updates in batchnorm into one implementation.

PiperOrigin-RevId: 189404070

6 years agoDon't fail when optimizing the gradients of noinline functions
Benoit Steiner [Fri, 16 Mar 2018 22:31:10 +0000 (15:31 -0700)]
Don't fail when optimizing the gradients of noinline functions

PiperOrigin-RevId: 189403170

6 years ago[XLA] Fix forward for HLO profiling test, explicitly set profiling preference.
Chris Leary [Fri, 16 Mar 2018 22:13:25 +0000 (15:13 -0700)]
[XLA] Fix forward for HLO profiling test, explicitly set profiling preference.

PiperOrigin-RevId: 189400869