| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 189719711
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 189712233
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 189694707
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 189690096
|
|
|
|
| |
PiperOrigin-RevId: 189688675
|
|
|
|
|
| |
Reason: Allow `LOG(ERROR) << shape` (currently disallowed).
PiperOrigin-RevId: 189687162
|
|
|
|
| |
PiperOrigin-RevId: 189686219
|
|
|
|
|
|
| |
Fixes #17802
PiperOrigin-RevId: 189684619
|
|
|
|
| |
PiperOrigin-RevId: 189683528
|
|
|
|
|
|
|
|
| |
operator.
Both non-NEON and reference implementation have this, but it's missing from NEON version.
PiperOrigin-RevId: 189682984
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 189680937
|
|
|
|
| |
PiperOrigin-RevId: 189680481
|
|
|
|
| |
PiperOrigin-RevId: 189680477
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 189675019
|
|
|
|
| |
PiperOrigin-RevId: 189672549
|
|
|
|
| |
PiperOrigin-RevId: 189671974
|
|
|
|
|
|
| |
subdirectory.
PiperOrigin-RevId: 189671290
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Without this change, shapes wouldn't be correctly computed for
operations created via import_graph_def.
PiperOrigin-RevId: 189670312
|
|
|
|
| |
PiperOrigin-RevId: 189669509
|
|
|
|
| |
PiperOrigin-RevId: 189668634
|
|
|
|
|
|
| |
ParallelInterleaveDataset.
PiperOrigin-RevId: 189667086
|
|
|
|
| |
PiperOrigin-RevId: 189666053
|
|
|
|
| |
PiperOrigin-RevId: 189664854
|
|
|
|
| |
PiperOrigin-RevId: 189654943
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
PiperOrigin-RevId: 189649236
|
|
|
|
| |
PiperOrigin-RevId: 189648496
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 189646358
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 189641833
|
|
|
|
| |
PiperOrigin-RevId: 189641729
|
|
|
|
| |
PiperOrigin-RevId: 189641300
|
|
|
|
|
|
| |
Useful to simplify the representation of composite symbols, e.g. 'py2tf.foo'.
PiperOrigin-RevId: 189638901
|
|
|
|
| |
PiperOrigin-RevId: 189634491
|
|
|
|
|
|
| |
tensorflow/core/common_runtime/eager
PiperOrigin-RevId: 189634404
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 189631659
|
|
|
|
|
|
| |
in ArithmeticOptimizer.
PiperOrigin-RevId: 189628227
|
|
|
|
| |
PiperOrigin-RevId: 189627956
|
|
|
|
| |
PiperOrigin-RevId: 189620850
|
|
|
|
| |
PiperOrigin-RevId: 189614197
|