Derek Murray [Tue, 29 May 2018 23:22:22 +0000 (16:22 -0700)]
Add microbenchmarks for the executor.
PiperOrigin-RevId:
198475385
A. Unique TensorFlower [Tue, 29 May 2018 22:56:42 +0000 (15:56 -0700)]
streaming trace viewer need to filter host.
PiperOrigin-RevId:
198471853
Rohan Jain [Tue, 29 May 2018 22:31:04 +0000 (15:31 -0700)]
Adding a check in eager metrics to make sure that the shapes of labels and predictions are exactly the same. The issue is that math_ops.equal would do broadcasting and so even if the shapes weren't entirely equal it'll produce an output which would be incorrect rather that reporting an error.
PiperOrigin-RevId:
198468251
A. Unique TensorFlower [Tue, 29 May 2018 21:28:59 +0000 (14:28 -0700)]
In TPUEstimator.export_savedmodel(), if saving TPU metegraph fails, issue a warning instead so that user can still use the CPU metagraph.
PiperOrigin-RevId:
198458571
Rachel Lim [Tue, 29 May 2018 21:22:18 +0000 (14:22 -0700)]
[tf.data] better benchmarking code in tests for measuring improvements to csv parsing
PiperOrigin-RevId:
198457501
Peter Hawkins [Tue, 29 May 2018 20:53:17 +0000 (13:53 -0700)]
[TF:XLA] Implement Bucketize.
PiperOrigin-RevId:
198452289
A. Unique TensorFlower [Tue, 29 May 2018 20:44:28 +0000 (13:44 -0700)]
Make the quantize_and_dequantize op use the full quantized range when possible.
PiperOrigin-RevId:
198450816
A. Unique TensorFlower [Tue, 29 May 2018 20:06:57 +0000 (13:06 -0700)]
Automated g4 rollback of changelist
198421828
PiperOrigin-RevId:
198444757
Justin Lebar [Tue, 29 May 2018 19:05:19 +0000 (12:05 -0700)]
Increase tolerances in depthwise_conv_op_test.
PiperOrigin-RevId:
198434814
Sanjoy Das [Tue, 29 May 2018 19:02:57 +0000 (12:02 -0700)]
Use target machine features to determine max vectorization width for GEMM
PiperOrigin-RevId:
198434296
A. Unique TensorFlower [Tue, 29 May 2018 19:01:11 +0000 (12:01 -0700)]
L2HMC trained with strongly correlated Gaussian. Simple testing
and benchmark with eager and graph mode execution.
PiperOrigin-RevId:
198433911
A. Unique TensorFlower [Tue, 29 May 2018 18:55:17 +0000 (11:55 -0700)]
Extracts the 'remove split or splitv nodes' optimization into its own method.
PiperOrigin-RevId:
198432976
Sanjoy Das [Tue, 29 May 2018 18:51:20 +0000 (11:51 -0700)]
[TF:XLA] Bump open source llvm revision to r333395
PiperOrigin-RevId:
198432337
A. Unique TensorFlower [Tue, 29 May 2018 18:46:26 +0000 (11:46 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId:
198431534
A. Unique TensorFlower [Tue, 29 May 2018 18:32:25 +0000 (11:32 -0700)]
Add note to bijector_impl.py explaining that `log_det_jacobian` is `log(*abs*(det(Jacobian)))`.
PiperOrigin-RevId:
198428995
Justin Lebar [Tue, 29 May 2018 18:19:19 +0000 (11:19 -0700)]
[XLA] Clarify that options passed to LocalService override legacy_flags values.
PiperOrigin-RevId:
198426696
A. Unique TensorFlower [Tue, 29 May 2018 18:18:54 +0000 (11:18 -0700)]
Update ops-related pbtxt files.
PiperOrigin-RevId:
198426617
Sanjoy Das [Tue, 29 May 2018 18:14:43 +0000 (11:14 -0700)]
Tile on the M dimension in GEBP.
After this change the inner reduction loop in GEBP multiplies a tile from the
LHS and a tile from the RHS to get a result tile.
PiperOrigin-RevId:
198425769
A. Unique TensorFlower [Tue, 29 May 2018 18:13:36 +0000 (11:13 -0700)]
[tpu:profiler] Add a new field to the statistics collected at each step.
PiperOrigin-RevId:
198425588
A. Unique TensorFlower [Tue, 29 May 2018 18:12:22 +0000 (11:12 -0700)]
Extracts the 'remove shuffle or transpose node' optimization into its own method.
PiperOrigin-RevId:
198425354
Frank Chen [Tue, 29 May 2018 17:57:01 +0000 (10:57 -0700)]
Add security notices for recently discovered and patched vulnerabilities.
PiperOrigin-RevId:
198422244
A. Unique TensorFlower [Tue, 29 May 2018 17:54:51 +0000 (10:54 -0700)]
[TF/XLA] Add validation to find ops incompatible with the given device type at the beginning of graph compilation.
PiperOrigin-RevId:
198421828
A. Unique TensorFlower [Tue, 29 May 2018 17:53:40 +0000 (10:53 -0700)]
Support NHWC_VECT_W in MakeShapeFromFormat.
PiperOrigin-RevId:
198421617
Allen Lavoie [Tue, 29 May 2018 17:34:20 +0000 (10:34 -0700)]
Add AnonymousIteratorHandleOp for non-shared Iterator resources
Fixes Iterator cleanup when executing eagerly. DestroyResourceOp will now remove the last reference from the Iterator resource when it runs (after the last Python reference to an EagerIterator is removed).
Previously EagerIterator used IteratorHandleOp to create resource handles, which used one kernel per (unique) shared name since the shared name was an attribute. These kernels each held a reference to their resource, which kept it alive indefinitely.
Fixes #19499.
PiperOrigin-RevId:
198417997
A. Unique TensorFlower [Tue, 29 May 2018 17:17:39 +0000 (10:17 -0700)]
Clarify argument types and relationships in docstrings of statistical_testing.py.
PiperOrigin-RevId:
198414898
A. Unique TensorFlower [Tue, 29 May 2018 16:49:42 +0000 (09:49 -0700)]
Eliminate self.test_session in favor of self.evaluate in statistical_testing_test.py.
PiperOrigin-RevId:
198410306
Dan Moldovan [Tue, 29 May 2018 16:46:21 +0000 (09:46 -0700)]
Clean up: handle the hidden additional clause on for loops in a way that's clearer about what it does.
PiperOrigin-RevId:
198409797
Dan Moldovan [Tue, 29 May 2018 16:15:44 +0000 (09:15 -0700)]
Clean up: remove useless super delegation.
PiperOrigin-RevId:
198405670
Dan Moldovan [Tue, 29 May 2018 15:45:28 +0000 (08:45 -0700)]
Allow assignment to subscripts in static analysis.
Move the handling of syntactic unpackings to a generic helper function since the pattern is used in multiple places. Update the type info analyzer to correctly process function arguments.
PiperOrigin-RevId:
198401368
A. Unique TensorFlower [Tue, 29 May 2018 15:36:14 +0000 (08:36 -0700)]
Generalize assert_true_mean_equal and assert_true_mean_equal_two_sample to assert_true_mean_in_interval.
PiperOrigin-RevId:
198400265
Asim Shankar [Tue, 29 May 2018 07:50:34 +0000 (00:50 -0700)]
Re-apply #18192.
PiperOrigin-RevId:
198358055
Sanjoy Das [Tue, 29 May 2018 06:55:19 +0000 (23:55 -0700)]
Fix an incorrect precondition check in IndexedArrayAnalysis
PiperOrigin-RevId:
198354001
Sanjoy Das [Tue, 29 May 2018 06:03:39 +0000 (23:03 -0700)]
Pass HloOpcode instead of HloInstruction; NFC
Minor code cleanup change.
PiperOrigin-RevId:
198351045
Sanjoy Das [Tue, 29 May 2018 05:16:46 +0000 (22:16 -0700)]
Make IndexedArrayAnalysis behave well around StatusOr
PiperOrigin-RevId:
198348355
Jiri Simsa [Mon, 28 May 2018 16:33:49 +0000 (09:33 -0700)]
Adding tf.data optimization for rewriting `map(...).batch(...)` to `map_and_batch(...)`.
PiperOrigin-RevId:
198310806
Tom Hennigan [Mon, 28 May 2018 13:32:04 +0000 (06:32 -0700)]
Sort variables in C++ instead of Python.
PiperOrigin-RevId:
198298103
A. Unique TensorFlower [Mon, 28 May 2018 12:21:13 +0000 (05:21 -0700)]
Relax compatibility checks for Protocol Buffer classes, to not rely on the exact layout of the generated classes. The definition of the message is checked instead.
PiperOrigin-RevId:
198292780
Justin Lebar [Sun, 27 May 2018 20:27:28 +0000 (13:27 -0700)]
[XLA] Don't display metadata inline in HLO graph dump.
We only want to display it in the tooltip.
PiperOrigin-RevId:
198235268
A. Unique TensorFlower [Sun, 27 May 2018 17:49:12 +0000 (10:49 -0700)]
TPUEstimator.export_savedmodel() saves a SavedModel with both TPU and CPU graphs.
PiperOrigin-RevId:
198229550
A. Unique TensorFlower [Sat, 26 May 2018 15:25:12 +0000 (08:25 -0700)]
Extracts the 'remove random shuffle node' optimization into its own method.
PiperOrigin-RevId:
198169790
Guangda Lai [Sat, 26 May 2018 06:44:11 +0000 (23:44 -0700)]
Fix the issue where returned Status is not used.
PiperOrigin-RevId:
198146500
A. Unique TensorFlower [Sat, 26 May 2018 05:46:46 +0000 (22:46 -0700)]
DepthwiseConv Optimizations
PiperOrigin-RevId:
198144118
A. Unique TensorFlower [Sat, 26 May 2018 04:38:56 +0000 (21:38 -0700)]
Use dict(locals()) instead of distribution_util.parent_frame_arguments. This will be much
faster at object construction time (going forward we'll figure out a way to make this a function to call).
PiperOrigin-RevId:
198141184
Justin Lebar [Sat, 26 May 2018 03:23:31 +0000 (20:23 -0700)]
[XLA] Don't compute relative error when the expected value is 0.
In literal_comparison, don't try to compute a relative error when the
expected value is 0, because doing so would mean that the only
acceptable value *is* zero, which probably isn't what you mean.
PiperOrigin-RevId:
198137414
Sanjoy Das [Sat, 26 May 2018 02:21:57 +0000 (19:21 -0700)]
Add support for unary and binary ops to indexed tensor analysis
I've added a TODO to clean up the use of ValueOrDie which I will address in an
immediately following CL.
PiperOrigin-RevId:
198134579
Yunxing Dai [Sat, 26 May 2018 02:18:30 +0000 (19:18 -0700)]
[Hlo Graphviz] Always show metadata as tooltips
Always show metadata as tooltips.
PiperOrigin-RevId:
198134430
Sanjoy Das [Sat, 26 May 2018 00:46:19 +0000 (17:46 -0700)]
Add a type-erased broadcast implementation to xla::Literal
And use this in HLO evaluator. Since broadcast only moves bytes around we don't
need a type specialized implementation.
I'll use this in a later change.
PiperOrigin-RevId:
198128524
Akshay Modi [Sat, 26 May 2018 00:37:01 +0000 (17:37 -0700)]
Minor eager performance improvements
- remove linear regression dependence on global step.
This speeds things up a lot for the benchmark (since it removes a bunch of
unnecessary code), but is obviously not a fair comparison.
I think its worth doing, since I don't see any reason to have a global step
in eager.
- nn_ops dropout had an unnecessary convert_to_tensor, convert back to numpy
(with a GPU this would copy out, copy back).
- cudnn_recurrent reshape would always fallback to the slow path - so I just
converted it to be in the fastpath - this will be low impact.
- tensor_shape should not generate a new object every time
- remove unnecessary list creation and searching in some dtypes functions
PiperOrigin-RevId:
198127757
Peter Hawkins [Sat, 26 May 2018 00:29:37 +0000 (17:29 -0700)]
[TF:XLA] Add direct implementation of AssignVariableOp for XLA devices.
This allows us to avoid an XLA compilation and tensor copies when assigning to a variable placed on an XLA device.
PiperOrigin-RevId:
198127062
A. Unique TensorFlower [Sat, 26 May 2018 00:22:17 +0000 (17:22 -0700)]
Turn on heuristic (mostly-NHWC) convolution layout assignment for (V100, fp16) by default.
Also increase the column reduction tile size to reduce atomic operations.
PiperOrigin-RevId:
198126505
Sanjoy Das [Sat, 26 May 2018 00:22:11 +0000 (17:22 -0700)]
Enable while loop constant sinking for GPU
To avoid keeping constants in while loop bodies after optimization (where they
may cause extra copies) we run a late pass of LICM that has been asked to hoist
constants when it can.
PiperOrigin-RevId:
198126497
Akshay Agrawal [Sat, 26 May 2018 00:12:49 +0000 (17:12 -0700)]
Provide a step container to OpKernelContexts when running eagerly.
This lets us run some ops that require step containers (e.g.
TensorArray-related ops).
Before change:
Benchmark Time(ns) CPU(ns) Iterations
-------------------------------------------------------------------
BM_CreateGraph 61292 80915 8581
BM_RunGraph 7899 13398 51251
BM_CreateAndDestroySession 2588 2594 269838
BM_KernelAndDeviceInit 2971 2976 235908
BM_KernelAndDeviceRun 505 506 1000000
After change:
Benchmark Time(ns) CPU(ns) Iterations
-------------------------------------------------------------------
BM_CreateGraph 78295 105539 8698
BM_RunGraph 9907 16988 47908
BM_CreateAndDestroySession 2773 2778 247635
BM_KernelAndDeviceInit 2678 2682 270054
BM_KernelAndDeviceRun 553 554 1000000
PiperOrigin-RevId:
198125630
Jiri Simsa [Sat, 26 May 2018 00:05:33 +0000 (17:05 -0700)]
[tf.data] Fixing concurrency issue in `map_and_batch`.
PiperOrigin-RevId:
198124860
Alexandre Passos [Fri, 25 May 2018 23:43:40 +0000 (16:43 -0700)]
Ignore while loops instead of mangling them in the automatic control dependencies.
PiperOrigin-RevId:
198122188
A. Unique TensorFlower [Fri, 25 May 2018 23:43:29 +0000 (16:43 -0700)]
Extracts the 'remove reverse node' optimization into its own method.
PiperOrigin-RevId:
198122165
A. Unique TensorFlower [Fri, 25 May 2018 23:07:25 +0000 (16:07 -0700)]
Automated g4 rollback of changelist
198087342
PiperOrigin-RevId:
198117552
Nick Felt [Fri, 25 May 2018 22:11:46 +0000 (15:11 -0700)]
Add warning to LookupOrCreate about reentrancy issue
PiperOrigin-RevId:
198110382
Igor Ganichev [Fri, 25 May 2018 20:58:51 +0000 (13:58 -0700)]
Add EagerTensor profiler and device shape utilities
This change includes the following steps to make
EagerTensor profiler work:
- Add a PaddedShapeFn to XlaDevice::Metadata. We need a
backend-independent way to get a fully-padded shape and
its layout on the device. This function is set during
device construction. CPU and GPU devices effectively get
an identity function since they neither change the layout
nor pad. TPU gets the appropriate function.
- Add TFE_TensorDebugInfo struct and C API methods for it.
These methods are necessary to fetch the shape and layout
from under the C API to the Python level. This can be a home
for more debug information later.
- Make EagerTensor weak referencable. This involves adding a
pointer to the list of current weak references. This addition
should have negligible overhead when profiler is not used.
The only operations on this field are setting it to null on
construction and checking if it is null on destruction.
- Adding C++ functions callable from Python to register an instance
of EagerTensorProfiler and retrieve debug information for a given
EagerTensor. These functions are used in the new "inspect" module.
- Finally, writing the actual profiler.
PiperOrigin-RevId:
198098380
A. Unique TensorFlower [Fri, 25 May 2018 20:44:36 +0000 (13:44 -0700)]
Disable //tensorflow/contrib/lite/python:lite_test on Windows
PiperOrigin-RevId:
198096344
A. Unique TensorFlower [Fri, 25 May 2018 20:39:25 +0000 (13:39 -0700)]
[tpu:profiler] Capture the data for generating a memory viewer of the profiling results.
PiperOrigin-RevId:
198095564
Sanjoy Das [Fri, 25 May 2018 20:38:24 +0000 (13:38 -0700)]
[TF:XLA] Bump open source llvm revision to r333273
PiperOrigin-RevId:
198095416
Alexandre Passos [Fri, 25 May 2018 20:20:13 +0000 (13:20 -0700)]
Public API to switch between eager execution and graph building.
Now, after tf.enable_eager_execution() has been executed, entering the context
manager of a tf.Graph will enable graph mode. So, for example
```
tf.enable_eager_execution()
with tf.Graph().as_default():
c = tf.constant(1.0) # this is a graph tensor
c2 = tf.constant(1.0) # this is an eager tensor
```
The main use-case of this is allowing documentation writers to make a single
notebook which starts with eager execution and seamlessly transitions to
building graphs.
This also makes many explicit enablings of graph mode in the code redundant
(a cleanup cl will follow).
PiperOrigin-RevId:
198092991
A. Unique TensorFlower [Fri, 25 May 2018 19:58:55 +0000 (12:58 -0700)]
Use functions to build dense splits. Tensorflow Function invocations share the same graph so using them reduces the graph construction overhead.
PiperOrigin-RevId:
198090110
A. Unique TensorFlower [Fri, 25 May 2018 19:56:40 +0000 (12:56 -0700)]
[tpu:profiler] Minor change in the description of tool name proto.
PiperOrigin-RevId:
198089875
A. Unique TensorFlower [Fri, 25 May 2018 19:54:49 +0000 (12:54 -0700)]
Add ScopedAllocatorOptimizer in support of CollectiveReduce.
The efficiency of CollectiveReduce is greatly improved by merging
multiple parallel reductions over smaller tensors into a single
reduction over a larger tensor that is the concatentation of the
smaller tensors. Because CollectiveReduce is essentially an
element-wise array operation which operates on a 1-D reshape of
the input tensor it is eligible for a ScopedAllocation optimization.
The optimization works by looking for serially independent instances
of CollectiveReduce that lie within the same name-scope tier and
have the same control-flow (e.g. loop) embedding structure. Where
two or more such nodes are found the upstream nodes that generate
their inputs are modified to write their outputs into consecutive
regions of a single tensor buffer maintained by a ScopedAllocator.
The multiple CollectiveReduce nodes are then replaced by a single
CollectiveReduce that operates in-place on the backing buffer.
The effectiveness of the optimization depends on there being candidate
CollectiveReduce nodes with these characteristics that become eligible
for execution at close to the same time. If the name scope is too
large, and includes nodes that become execution eligible at very different
times, this graph rewrite could result in a slowdown.
Note that this optimization is experimental: it is not guaranteed to
work, especially for ops other than CollectiveReduce.
PiperOrigin-RevId:
198089642
A. Unique TensorFlower [Fri, 25 May 2018 19:35:50 +0000 (12:35 -0700)]
enhance Tensorflow GBDT and GBRT model by exposing a new two dimensional output in prediction ops (example id, tree leaf node index id) for input as other model features
PiperOrigin-RevId:
198087342
A. Unique TensorFlower [Fri, 25 May 2018 19:22:45 +0000 (12:22 -0700)]
Extracts the 'simplify slice' optimization into its own method.
PiperOrigin-RevId:
198085532
Peter Hawkins [Fri, 25 May 2018 19:04:49 +0000 (12:04 -0700)]
[TF:XLA] Register Switch and Merge ops on XLA devices.
PiperOrigin-RevId:
198083156
Derek Murray [Fri, 25 May 2018 18:42:33 +0000 (11:42 -0700)]
Automated g4 rollback of changelist
192848921
PiperOrigin-RevId:
198079927
A. Unique TensorFlower [Fri, 25 May 2018 18:34:30 +0000 (11:34 -0700)]
Extracts the 'simplify strided slice' optimization into its own method.
PiperOrigin-RevId:
198078724
Igor Ganichev [Fri, 25 May 2018 18:27:39 +0000 (11:27 -0700)]
Bump TPU batch size and wrap apply_grads in defun
PiperOrigin-RevId:
198077643
Akshay Modi [Fri, 25 May 2018 18:02:42 +0000 (11:02 -0700)]
Release C++ lock before calling back into python
PiperOrigin-RevId:
198073059
A. Unique TensorFlower [Fri, 25 May 2018 17:54:38 +0000 (10:54 -0700)]
DepthwiseConv optimizations.
PiperOrigin-RevId:
198071709
Mark Daoust [Fri, 25 May 2018 17:45:27 +0000 (10:45 -0700)]
Link to tf.estimator docs for premade estimators.
PiperOrigin-RevId:
198070157
A. Unique TensorFlower [Fri, 25 May 2018 15:55:24 +0000 (08:55 -0700)]
Code simplification in dump_graphviz.cc:
Just output all arrays, before writing edges, so we don't
need to keep track of which arrays we've already output.
PiperOrigin-RevId:
198055327
Shanqing Cai [Fri, 25 May 2018 13:56:38 +0000 (06:56 -0700)]
Minor clarification to model_to_estimator() doc string
PiperOrigin-RevId:
198044106
Asim Shankar [Fri, 25 May 2018 09:23:06 +0000 (02:23 -0700)]
eager: Update introduction notebooks.
PiperOrigin-RevId:
198022387
Asim Shankar [Fri, 25 May 2018 08:36:23 +0000 (01:36 -0700)]
Fix typo, fix build.
PiperOrigin-RevId:
198017870
A. Unique TensorFlower [Fri, 25 May 2018 03:36:45 +0000 (20:36 -0700)]
Extracts the 'simplify tile node' optimization into its own method.
PiperOrigin-RevId:
197996636
A. Unique TensorFlower [Fri, 25 May 2018 02:49:05 +0000 (19:49 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId:
197993384
A. Unique TensorFlower [Fri, 25 May 2018 02:45:27 +0000 (19:45 -0700)]
Initialize the score threshold to -inf to avoid filtering out negative logits
PiperOrigin-RevId:
197993147
A. Unique TensorFlower [Fri, 25 May 2018 02:20:31 +0000 (19:20 -0700)]
Update ops-related pbtxt files.
PiperOrigin-RevId:
197991672
Yifei Feng [Fri, 25 May 2018 02:12:26 +0000 (19:12 -0700)]
Merge changes from github.
Revert #18413. Too many internal test failures due to the name scope change caused by this change.
Revert #18192. Cannot use re2::StringPiece internally. Need alternative for set call. Will pull and clean this up in a separate change.
PiperOrigin-RevId:
197991247
A. Unique TensorFlower [Fri, 25 May 2018 01:55:30 +0000 (18:55 -0700)]
Extracts the 'simplify pad node' optimization into its own method.
PiperOrigin-RevId:
197989813
Sanjoy Das [Fri, 25 May 2018 01:23:48 +0000 (18:23 -0700)]
Rename TileLoader to MemoryTile; NFC
In a later change I will expand MemoryTile to store tiles and load "3d" tiles
(where we broadcast along one dimension as we load).
PiperOrigin-RevId:
197987185
A. Unique TensorFlower [Fri, 25 May 2018 00:48:21 +0000 (17:48 -0700)]
Add heuristic on picking NHWC layout for (V100, fp16) convolutions.
Also move AlgorithmPicker after layout assignment, as now
cudnn_convolution_runner will return failures on invalid input layouts.
Also add a backend debug option to switch the layout heuristic. By default
it has the old behavior (all NCHW).
PiperOrigin-RevId:
197983747
A. Unique TensorFlower [Fri, 25 May 2018 00:06:34 +0000 (17:06 -0700)]
Enabling some potential optimization using the restrict qualifier.
PiperOrigin-RevId:
197979118
Akshay Modi [Thu, 24 May 2018 23:53:33 +0000 (16:53 -0700)]
When converting a numpy float64 to an EagerTensor, always ensure that it
becomes a float64 tensor.
Earlier py_seq_tensor would fall back to a float32 if not explicitly requesting
a float64 (which would not happen if we had no other information).
PiperOrigin-RevId:
197977260
Igor Ganichev [Thu, 24 May 2018 23:44:17 +0000 (16:44 -0700)]
Don't XLA-compile naked variable reads
Before this change, when we executed a naked variable read (i.e. outside of
a defun, directly running <xla_device>->Compute()), tf2xla kernel would
copy the variable's tensor leading to many unnecessary copies.
This change uses the regular non-tf2xla kernel for naked variable reads
and marks the tf2xla one for CompilationOnly().
PiperOrigin-RevId:
197976146
A. Unique TensorFlower [Thu, 24 May 2018 23:31:48 +0000 (16:31 -0700)]
move wide string manipulations out of windows_file_system
PiperOrigin-RevId:
197974385
Akshay Modi [Thu, 24 May 2018 23:20:31 +0000 (16:20 -0700)]
Remove _get_backward_fn and depend on _gradient_function directly.
(_magic_gradient_function was renamed to _gradient_function)
Before:
entry {
name: "MicroBenchmarks.benchmark_tf_gradient_forward_identity"
iters: 30000
wall_time: 5.
88456789653
extras {
key: "examples_per_sec"
value {
double_value: 169936.011885
}
}
}
After:
entry {
name: "MicroBenchmarks.benchmark_tf_gradient_forward_identity"
iters: 30000
wall_time: 5.
04853725433
extras {
key: "examples_per_sec"
value {
double_value: 198077.175551
}
}
}
PiperOrigin-RevId:
197972668
Yu-Cheng Ling [Thu, 24 May 2018 23:02:11 +0000 (16:02 -0700)]
Fix the generated builtin_ops enum header.
PiperOrigin-RevId:
197969642
A. Unique TensorFlower [Thu, 24 May 2018 22:53:44 +0000 (15:53 -0700)]
Extracts the 'simplify squeeze node' optimization into its own method.
PiperOrigin-RevId:
197968452
David Majnemer [Thu, 24 May 2018 22:45:25 +0000 (15:45 -0700)]
[XLA] Remove maps with a single instruction
These maps aren't really pulling their weight, fold them to the instruction
that they compute.
PiperOrigin-RevId:
197967117
Priya Gupta [Thu, 24 May 2018 22:35:13 +0000 (15:35 -0700)]
Avoid infinite recursion when checking for indexed slices.
PiperOrigin-RevId:
197965508
Igor Saprykin [Thu, 24 May 2018 22:28:03 +0000 (15:28 -0700)]
Allow combinations to be used on the class level. Make "mode" optional.
Applying a generator to a class is the same as applying that generator to every member of that class. It is meant to allow avoiding repetition in some cases.
The implementation relies on some internals of parameterized tests and how it works with a class level declaration: https://github.com/abseil/abseil-py/blob/master/absl/testing/parameterized.py#L319.
The "mode" argument is required before this change. To accommodate cases where execution mode isn't the point of the test, "mode" became optional with "graph" mode being default. Another idea I had was to pick a random mode by default.
PiperOrigin-RevId:
197964501
A. Unique TensorFlower [Thu, 24 May 2018 22:27:00 +0000 (15:27 -0700)]
Add local_init_run_options to SessionManager and Supervisor so that
collective_graph_key can be passed in when collective ops are used
in variable initialization.
PiperOrigin-RevId:
197964316
Sanjoy Das [Thu, 24 May 2018 22:19:40 +0000 (15:19 -0700)]
Rename getInt64 to GetInt64 to follow Google style
PiperOrigin-RevId:
197963232
A. Unique TensorFlower [Thu, 24 May 2018 21:59:29 +0000 (14:59 -0700)]
Windows build script change for release job
PiperOrigin-RevId:
197959602
A. Unique TensorFlower [Thu, 24 May 2018 21:59:05 +0000 (14:59 -0700)]
Small fix so that GDN can run on TPU
PiperOrigin-RevId:
197959536