platform/upstream/tensorflow.git
7 years ago[tf nest] Add additional key yielder.
Eugene Brevdo [Thu, 21 Dec 2017 07:02:11 +0000 (23:02 -0800)]
[tf nest] Add additional key yielder.

This is just copying a utility function created by Malcolm Reynolds.

PiperOrigin-RevId: 179775504

7 years agoRevert change to ParseBytesList that failed on some platforms.
Derek Murray [Thu, 21 Dec 2017 07:01:10 +0000 (23:01 -0800)]
Revert change to ParseBytesList that failed on some platforms.

PiperOrigin-RevId: 179775354

7 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Thu, 21 Dec 2017 05:15:44 +0000 (21:15 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.

PiperOrigin-RevId: 179769852

7 years agoInternal change.
Anna R [Thu, 21 Dec 2017 05:06:48 +0000 (21:06 -0800)]
Internal change.

PiperOrigin-RevId: 179769382

7 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Thu, 21 Dec 2017 05:04:31 +0000 (21:04 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 179769207

7 years ago[tf.data] Add `tf.contrib.data.parse_single_example()`.
Derek Murray [Thu, 21 Dec 2017 04:54:25 +0000 (20:54 -0800)]
[tf.data] Add `tf.contrib.data.parse_single_example()`.

The new op is a fused implementation of the existing
`tf.parse_single_example()`, which is more efficient when parsing a
single Example at a time.

PiperOrigin-RevId: 179768512

7 years agoAutomated g4 rollback of changelist 179757188
Anna R [Thu, 21 Dec 2017 04:17:15 +0000 (20:17 -0800)]
Automated g4 rollback of changelist 179757188

PiperOrigin-RevId: 179766237

7 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Thu, 21 Dec 2017 03:01:09 +0000 (19:01 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.

PiperOrigin-RevId: 179761889

7 years agoAutomated g4 rollback of changelist 179735577
Anna R [Thu, 21 Dec 2017 02:59:24 +0000 (18:59 -0800)]
Automated g4 rollback of changelist 179735577

PiperOrigin-RevId: 179761787

7 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Thu, 21 Dec 2017 01:59:07 +0000 (17:59 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 179757188

7 years ago[XLA] Add CrossReplicaSum to Python API bindings.
Chris Leary [Thu, 21 Dec 2017 01:55:13 +0000 (17:55 -0800)]
[XLA] Add CrossReplicaSum to Python API bindings.

Add support to CPU for the trivial replica_count=1 case.

PiperOrigin-RevId: 179756956

7 years ago[XLA] Fix HLO graph dumper not to assume that instruction names start with "%".
Justin Lebar [Thu, 21 Dec 2017 01:54:39 +0000 (17:54 -0800)]
[XLA] Fix HLO graph dumper not to assume that instruction names start with "%".

HLO graph dumper needs to be aware that we've gotten rid of the "%"
prefix in HLO names so it doesn't print e.g.

  reduce
  reduce.42
  Subcomputation: add
  ...

but instead simply prints

  reduce.42
  Subcomputation: add
  ...

PiperOrigin-RevId: 179756922

7 years agoFix typo in struct name: RecvNodeDescritorHash -> RecvNodeDescriptorHash.
A. Unique TensorFlower [Thu, 21 Dec 2017 01:53:22 +0000 (17:53 -0800)]
Fix typo in struct name: RecvNodeDescritorHash -> RecvNodeDescriptorHash.

PiperOrigin-RevId: 179756840

7 years agoFix the condition check for int8 fused_conv so that it works on Volta.
Yangzihao Wang [Thu, 21 Dec 2017 01:48:42 +0000 (17:48 -0800)]
Fix the condition check for int8 fused_conv so that it works on Volta.

PiperOrigin-RevId: 179756490

7 years ago[XLA] Add Collapse and Rev ops to the local XLA Python client.
Roy Frostig [Thu, 21 Dec 2017 01:08:43 +0000 (17:08 -0800)]
[XLA] Add Collapse and Rev ops to the local XLA Python client.

PiperOrigin-RevId: 179753056

7 years agoimplicit_gradients always sorts its return values by variable creation order
Alexandre Passos [Thu, 21 Dec 2017 00:43:33 +0000 (16:43 -0800)]
implicit_gradients always sorts its return values by variable creation order

PiperOrigin-RevId: 179750392

7 years agoSupport max pool v2.
Yao Zhang [Thu, 21 Dec 2017 00:13:59 +0000 (16:13 -0800)]
Support max pool v2.

PiperOrigin-RevId: 179747281

7 years agoAutomated g4 rollback of changelist 179729641
Anna R [Wed, 20 Dec 2017 23:34:58 +0000 (15:34 -0800)]
Automated g4 rollback of changelist 179729641

PiperOrigin-RevId: 179742670

7 years agoTruncate status messages before converting to gRPC.
Brennan Saeta [Wed, 20 Dec 2017 22:47:04 +0000 (14:47 -0800)]
Truncate status messages before converting to gRPC.

PiperOrigin-RevId: 179736746

7 years agoImplements the fill op for int64 indices.
Alexandre Passos [Wed, 20 Dec 2017 22:37:26 +0000 (14:37 -0800)]
Implements the fill op for int64 indices.

PiperOrigin-RevId: 179735577

7 years ago[TF:XLA] Move XlaResource into its own file, and refactor it into a better-abstracted...
Peter Hawkins [Wed, 20 Dec 2017 22:32:34 +0000 (14:32 -0800)]
[TF:XLA] Move XlaResource into its own file, and refactor it into a better-abstracted class. No functional changes intended.

PiperOrigin-RevId: 179734920

7 years ago[XLA] Add reassociation rule for adds, and add canonicalization rules for add/sub...
Justin Lebar [Wed, 20 Dec 2017 22:13:37 +0000 (14:13 -0800)]
[XLA] Add reassociation rule for adds, and add canonicalization rules for add/sub of a constant.

This patch adds a new algebraic simplification:

* (A + C0) + C1 => A + (C0 + C1), where C0 and C1 are constants.  This
  allows us to constant-fold C0 + C1.

In service of this rule, this patch also adds two new canonicalizations:

* Const + A => A + Const
* A - Const => A + (-1 * Const)

PiperOrigin-RevId: 179731747

7 years agoAdds a randomized test for Atan.
A. Unique TensorFlower [Wed, 20 Dec 2017 22:01:11 +0000 (14:01 -0800)]
Adds a randomized test for Atan.
Resolves TODOs that are out of scope because conv op registration is non-C64 only.

PiperOrigin-RevId: 179730049

7 years agoAdd the capability of verbose logging for HTTP requests to the TensorFlow GCS client.
A. Unique TensorFlower [Wed, 20 Dec 2017 21:57:22 +0000 (13:57 -0800)]
Add the capability of verbose logging for HTTP requests to the TensorFlow GCS client.

This change allows the GCS client within TensorFlow to log verbose information about HTTP requests to the standard Google logger.  (Actually, to the TensorFlow variant of the standard Google logger.)

This capability is disabled by default. It is enabled by setting the environment variable GCS_LOG_HTTP_REQUEST_VERBOSE=1 (or =true).

PiperOrigin-RevId: 179729641

7 years agoMake tf_cc_test compilable by default for Android
Austin Anderson [Wed, 20 Dec 2017 21:53:00 +0000 (13:53 -0800)]
Make tf_cc_test compilable by default for Android

This change adjusts the build options for tf_cc_test targets so that
they can be built for Android devices by default. Many targets will
still need additional options on a per-target basis.

Android requires that executables be compiled with `-pie`.

PiperOrigin-RevId: 179729092

7 years agoDestroy batch_thread_pool_ first. For the new in flight batches implementation, the...
A. Unique TensorFlower [Wed, 20 Dec 2017 21:31:06 +0000 (13:31 -0800)]
Destroy batch_thread_pool_ first. For the new in flight batches implementation, the callbacks scheduled on this thread pool refer to other class members which must remain alive until the thread pool is empty.

Also fix a similar lifetime issue in the unit tests.

PiperOrigin-RevId: 179726389

7 years agoExtend DataFormatDimMap to handle tensors.
Yao Zhang [Wed, 20 Dec 2017 21:30:22 +0000 (13:30 -0800)]
Extend DataFormatDimMap to handle tensors.

PiperOrigin-RevId: 179726269

7 years agoAdd prefetching into parallel_interleave
Brennan Saeta [Wed, 20 Dec 2017 21:29:07 +0000 (13:29 -0800)]
Add prefetching into parallel_interleave

This change adds 2 parameters to parallel_interleave:
 - prefetch_input_elements: determines the number of iterators to prefetch
     allowing buffers to warm up and data to be pre-fetched without blocking
     the main thread (i.e. the GetNext() call).
 - buffer_output_elements: in order to avoid creating thousands of threads, we
     fuse in the .prefetch() operator as an additional parameter. The value of
     this parameter is identical to the value passed to `.prefetch()`

PiperOrigin-RevId: 179726088

7 years agoRestore escaping to string attribute list summaries accidentally removed by previous...
Peter Hawkins [Wed, 20 Dec 2017 21:26:43 +0000 (13:26 -0800)]
Restore escaping to string attribute list summaries accidentally removed by previous change.

PiperOrigin-RevId: 179725715

7 years agoSupport SplitV op.
Yao Zhang [Wed, 20 Dec 2017 21:26:37 +0000 (13:26 -0800)]
Support SplitV op.

PiperOrigin-RevId: 179725704

7 years ago[XLA] Remove inappropriate plugin linkage.
Chris Leary [Wed, 20 Dec 2017 21:15:49 +0000 (13:15 -0800)]
[XLA] Remove inappropriate plugin linkage.

PiperOrigin-RevId: 179724373

7 years agoFix logging of excessive unsupported operations.
Russell Power [Wed, 20 Dec 2017 20:58:46 +0000 (12:58 -0800)]
Fix logging of excessive unsupported operations.

An operator precedence issue with the previous version triggered errors when models had a large number of summaries.

PiperOrigin-RevId: 179722697

7 years agoConvert Status-based call sequence checks to CHECK-based.
A. Unique TensorFlower [Wed, 20 Dec 2017 19:10:40 +0000 (11:10 -0800)]
Convert Status-based call sequence checks to CHECK-based.

Call sequence requirements are correctness requirements; any violation of a correctness requirement is a code defect / bug. Currently, some code in the TF GCS client uses Status objects to report call sequence violations. This tolerates bugs, allowing them to go undetected and uncorrected.

This change converts many call sequence checks to use CHECK, rather than Status. The result is code that is simpler, and that exposes bugs, rather than protecting them.

PiperOrigin-RevId: 179709047

7 years agoAdding mention of contrib optimizers and new learning rate decays.
A. Unique TensorFlower [Wed, 20 Dec 2017 18:57:08 +0000 (10:57 -0800)]
Adding mention of contrib optimizers and new learning rate decays.

PiperOrigin-RevId: 179706954

7 years agoAdding an optimizer module for ConstantSGD.
A. Unique TensorFlower [Wed, 20 Dec 2017 18:31:55 +0000 (10:31 -0800)]
Adding an optimizer module for ConstantSGD.

PiperOrigin-RevId: 179703560

7 years agoAdding missing comma in __init__.py and fixing links in NOS optimizers docs.
A. Unique TensorFlower [Wed, 20 Dec 2017 18:17:28 +0000 (10:17 -0800)]
Adding missing comma in __init__.py and fixing links in NOS optimizers docs.

PiperOrigin-RevId: 179701465

7 years agoReduce the number of warning messages for unsupported operations.
Russell Power [Wed, 20 Dec 2017 18:10:32 +0000 (10:10 -0800)]
Reduce the number of warning messages for unsupported operations.

PiperOrigin-RevId: 179700417

7 years agoSupport more control flow ops. Delete ops that require ref inputs (e.g.
Yao Zhang [Wed, 20 Dec 2017 18:02:12 +0000 (10:02 -0800)]
Support more control flow ops. Delete ops that require ref inputs (e.g.
variables); these ops are not applicable to layout optimizer, because
layout-agnostic nodes are never directly connected to variables, but to
other layout-sensitive nodes such as conv and pooling.

PiperOrigin-RevId: 179699124

7 years agoAdd some unit tests for memory optimizer _recompute_hint Python usage (mostly
Allen Lavoie [Wed, 20 Dec 2017 17:50:56 +0000 (09:50 -0800)]
Add some unit tests for memory optimizer _recompute_hint Python usage (mostly
for documentation purposes).

PiperOrigin-RevId: 179697882

7 years agoFix a flaky test.
Jingyue Wu [Wed, 20 Dec 2017 16:34:54 +0000 (08:34 -0800)]
Fix a flaky test.

In the old code, `a` can be freed before bytes_in_use, making the result of
`bytes_in_use` unstable. In the new code, `b` uses `a` and control-depends on
`bytes_in_use`, so `a` cannot be freed before `bytes_in_use`.

PiperOrigin-RevId: 179690026

7 years agoAdd support for constant resolution of the Fill op.
A. Unique TensorFlower [Wed, 20 Dec 2017 15:38:32 +0000 (07:38 -0800)]
Add support for constant resolution of the Fill op.

PiperOrigin-RevId: 179684795

7 years agorename files
Mark Daoust [Wed, 20 Dec 2017 15:24:29 +0000 (07:24 -0800)]
rename files

PiperOrigin-RevId: 179683700

7 years agoReplace std::pow with MathUtil::IPow when the exponent is a non-negative integer.
A. Unique TensorFlower [Wed, 20 Dec 2017 14:47:44 +0000 (06:47 -0800)]
Replace std::pow with MathUtil::IPow when the exponent is a non-negative integer.

Includes minor test cleanup.

PiperOrigin-RevId: 179680628

7 years agoRemove unused BUILD dependencies
A. Unique TensorFlower [Wed, 20 Dec 2017 14:46:40 +0000 (06:46 -0800)]
Remove unused BUILD dependencies

PiperOrigin-RevId: 179680552

7 years agoPiperOrigin-RevId: 179639611
Raghuraman Krishnamoorthi [Wed, 20 Dec 2017 04:38:51 +0000 (20:38 -0800)]
PiperOrigin-RevId: 179639611

7 years ago[TF:XLA] Move ShardingBuilder out of computation_builder.h
A. Unique TensorFlower [Wed, 20 Dec 2017 13:35:03 +0000 (05:35 -0800)]
[TF:XLA] Move ShardingBuilder out of computation_builder.h

ShardingBuilder does not belong in computation_builder.h - its presence there is puzzling and unintuitive.

PiperOrigin-RevId: 179675257

7 years agoSpecify that only NHWC is supported for certain ops on CPU specifically, rather than...
Neal Wu [Wed, 20 Dec 2017 03:56:58 +0000 (19:56 -0800)]
Specify that only NHWC is supported for certain ops on CPU specifically, rather than in general.

PiperOrigin-RevId: 179637312

7 years agoElide long strings and lists when summarizing AttrValues.
Peter Hawkins [Wed, 20 Dec 2017 03:22:44 +0000 (19:22 -0800)]
Elide long strings and lists when summarizing AttrValues.

PiperOrigin-RevId: 179635492

7 years agoAdds some more distributed training related fields into TF_CONFIG.
Jianwei Xie [Wed, 20 Dec 2017 03:22:44 +0000 (19:22 -0800)]
Adds some more distributed training related fields into TF_CONFIG.

PiperOrigin-RevId: 179635491

7 years agoSupport ternary ops.
Yao Zhang [Wed, 20 Dec 2017 03:09:00 +0000 (19:09 -0800)]
Support ternary ops.

PiperOrigin-RevId: 179634713

7 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Wed, 20 Dec 2017 03:04:57 +0000 (19:04 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 179634365

7 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Wed, 20 Dec 2017 02:36:51 +0000 (18:36 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.

PiperOrigin-RevId: 179632513

7 years agoMinor cleanup, now that there's a single Executable::ExecuteOnStream method.
A. Unique TensorFlower [Wed, 20 Dec 2017 02:15:52 +0000 (18:15 -0800)]
Minor cleanup, now that there's a single Executable::ExecuteOnStream method.

PiperOrigin-RevId: 179630890

7 years ago[XLA:GPU] Make the use of scratch allocator in convolution_thunk safe.
A. Unique TensorFlower [Wed, 20 Dec 2017 01:54:19 +0000 (17:54 -0800)]
[XLA:GPU] Make the use of scratch allocator in convolution_thunk safe.

Add member function Thunk::ShouldFutureScheduledThunksDependOn for
convolution_thunk to tell thunk executor that all future scheduled thunks
should wait for convolution_thunk. This can ensure that the use of scratch
allocator in convolution_thunk is safe.

PiperOrigin-RevId: 179628764

7 years agoRead ApiDef from TensorFlow Go API.
Anna R [Wed, 20 Dec 2017 01:28:06 +0000 (17:28 -0800)]
Read ApiDef from TensorFlow Go API.

PiperOrigin-RevId: 179625412

7 years ago[tf.data] Add a transformation for getting the unique elements of a dataset.
Derek Murray [Wed, 20 Dec 2017 01:26:02 +0000 (17:26 -0800)]
[tf.data] Add a transformation for getting the unique elements of a dataset.

PiperOrigin-RevId: 179625211

7 years agoImplement convolution operations in the local Python XLA client.
Roy Frostig [Wed, 20 Dec 2017 01:20:17 +0000 (17:20 -0800)]
Implement convolution operations in the local Python XLA client.

PiperOrigin-RevId: 179624737

7 years agotfdbg: send graph traceback and source files from TensorBoard wrapper and hook
Shanqing Cai [Wed, 20 Dec 2017 01:13:50 +0000 (17:13 -0800)]
tfdbg: send graph traceback and source files from TensorBoard wrapper and hook

To this end:
* Refactor some common, shared constants and methods to a new file: common.py

PiperOrigin-RevId: 179624165

7 years agoTFE copy across gpus
Alexandre Passos [Wed, 20 Dec 2017 00:51:25 +0000 (16:51 -0800)]
TFE copy across gpus

PiperOrigin-RevId: 179622259

7 years agoK-FAC: Cross Replica Mean for TPU
A. Unique TensorFlower [Wed, 20 Dec 2017 00:31:31 +0000 (16:31 -0800)]
K-FAC: Cross Replica Mean for TPU

Adds an op for taking the average of a Tensor across all TPU cores, and uses it
before updating covariance statistics. This is a no-op if TPUs aren't used.

PiperOrigin-RevId: 179620193

7 years ago[XLA] Rename CreateFullWithMonotonicDim0MajorLayout to CreateFullWithDescendingLayout.
Justin Lebar [Wed, 20 Dec 2017 00:27:34 +0000 (16:27 -0800)]
[XLA] Rename CreateFullWithMonotonicDim0MajorLayout to CreateFullWithDescendingLayout.

We've renamed MonotonicDim0MajorLayout to DescendingLayout.

PiperOrigin-RevId: 179619563

7 years agoAdd comparison ufuncs for numpy bfloat16 type.
A. Unique TensorFlower [Tue, 19 Dec 2017 23:50:58 +0000 (15:50 -0800)]
Add comparison ufuncs for numpy bfloat16 type.
Fix 2 bfloat16 tests.

PiperOrigin-RevId: 179614898

7 years ago[XLA] Fix return type of LayoutUtil::PaddedDimensions
A. Unique TensorFlower [Tue, 19 Dec 2017 23:45:38 +0000 (15:45 -0800)]
[XLA] Fix return type of LayoutUtil::PaddedDimensions

We should not use const here.

PiperOrigin-RevId: 179614367

7 years agoRemove unused namespace alias.
A. Unique TensorFlower [Tue, 19 Dec 2017 23:26:33 +0000 (15:26 -0800)]
Remove unused namespace alias.

PiperOrigin-RevId: 179612102

7 years agoSupport fused batch norm v2.
Yao Zhang [Tue, 19 Dec 2017 23:07:16 +0000 (15:07 -0800)]
Support fused batch norm v2.

PiperOrigin-RevId: 179609646

7 years ago[XLA] Turn pad and reduce window of zero sized inputs into a broadcast.
Blake Hechtman [Tue, 19 Dec 2017 23:01:53 +0000 (15:01 -0800)]
[XLA] Turn pad and reduce window of zero sized inputs into a broadcast.

PiperOrigin-RevId: 179608875

7 years ago[XLA] Rename "MonotonicDim0MajorLayout" to "DescendingLayout".
Justin Lebar [Tue, 19 Dec 2017 22:56:01 +0000 (14:56 -0800)]
[XLA] Rename "MonotonicDim0MajorLayout" to "DescendingLayout".

This is shorter, and hopefully less confusing.

As a result, we rename NormalizeShapeToMonotonicDim0MajorLayout to the
more descriptive MakeShapeWithDescendingLayoutAndSamePhysicalLayout,
and rename MakeShapewithMonotonicDim0MajorLayout to
MakeShapeWithDescendingLayout.

We also beef up the comments on the first function.

PiperOrigin-RevId: 179608145

7 years agoK-FAC: ResourceVariable support
A. Unique TensorFlower [Tue, 19 Dec 2017 22:21:51 +0000 (14:21 -0800)]
K-FAC: ResourceVariable support

PiperOrigin-RevId: 179603654

7 years agoMigrate SavedModel simple save functionality from contrib to
Sukriti Ramesh [Tue, 19 Dec 2017 21:54:53 +0000 (13:54 -0800)]
Migrate SavedModel simple save functionality from contrib to
tensorflow/python/saved_model.

PiperOrigin-RevId: 179599527

7 years agoFixed a couple of bugs in transitive reduction:
A. Unique TensorFlower [Tue, 19 Dec 2017 21:34:33 +0000 (13:34 -0800)]
Fixed a couple of bugs in transitive reduction:
   1. Only consider paths through nodes reachable from the source in the inner loop.
   2. Ignore paths through Merge nodes, since we cannot know which branch executed.
   3. Ignore function nodes, since we are potentially mixing paths from multiple instantiations.
   4. Process control inputs to be removed in reverse order of input slot, so we don't clobber the repeated field.

PiperOrigin-RevId: 179596846

7 years agoMake sure function.defun can handle nested inputs with namedtuples and dicts.
Sergio Guadarrama [Tue, 19 Dec 2017 21:26:56 +0000 (13:26 -0800)]
Make sure function.defun can handle nested inputs with namedtuples and dicts.

PiperOrigin-RevId: 179595879

7 years agoInitial checkin for outside_compilation. Adds a new attribute for encapsulating XLA...
A. Unique TensorFlower [Tue, 19 Dec 2017 20:54:01 +0000 (12:54 -0800)]
Initial checkin for outside_compilation. Adds a new attribute for encapsulating XLA subgraphs that will in the future be used to mark some Ops in the subgraph as 'outside_compilation' meaning they will be run as interpreted TensorFlow via a callout from a compiled XLA subgraph.

This is the first of a sequence of checkins. It adds new types of edges entering and leaving the subgraphs, suitable for send/recv between a compiled XLA subgraph and the 'host', i.e., uncompiled TensorFlow.

For now no code sets the new 'outside_compilation' attributes, and the Ops to perform the send/recv are not present in the codebase; these will follow in subsequent checkins.

PiperOrigin-RevId: 179591853

7 years agoSupport IdentityN op.
Yao Zhang [Tue, 19 Dec 2017 20:48:55 +0000 (12:48 -0800)]
Support IdentityN op.

PiperOrigin-RevId: 179591229

7 years agoProtect all calls to launch cuSolver & cuBlas kernels by a lock. The code appears...
A. Unique TensorFlower [Tue, 19 Dec 2017 20:38:19 +0000 (12:38 -0800)]
Protect all calls to launch cuSolver & cuBlas kernels by a lock. The code appears not to be threadsafe pre Cuda 9, and we have several report of crashes. Since the overhead is modest, better to be safe.

PiperOrigin-RevId: 179589983

7 years agoSpecifically add TMP directory for Android
Austin Anderson [Tue, 19 Dec 2017 20:16:57 +0000 (12:16 -0800)]
Specifically add TMP directory for Android

There is an oversight in the adb tool that causes `adb shell` ->
$<command> to set the TMPDIR env param, but `adb shell <command>` does
not. Binaries that use env.cc on Android will have inconsistent behavior
between interactive and non-interactive versions of `adb shell` until
that bug (which has been fixed internally) arrives on released versions
of adb.

This change adds the /data/local/tmp directory as a final fallback for
Android devices that support it (/data/local/tmp seems to be the de
facto "anyone can use this" Android tmp directory based on Mobile
Harness's use of it, my own discovery that it works better than other
directories, and that searching for it seems to back up the idea, but I
can't find official documentation supporting this). Devices that don't
support that directory will continue to fail, as they did before.

PiperOrigin-RevId: 179587386

7 years agoSupport for strings input/output in Toco
A. Unique TensorFlower [Tue, 19 Dec 2017 20:09:52 +0000 (12:09 -0800)]
Support for strings input/output in Toco

PiperOrigin-RevId: 179586555

7 years ago[tf.data] Saveable iterator for ScanDataset.
Shivani Agrawal [Tue, 19 Dec 2017 19:47:21 +0000 (11:47 -0800)]
[tf.data] Saveable iterator for ScanDataset.

PiperOrigin-RevId: 179583460

7 years ago[tf.data] Saveable iterator for DenseToSparseBatchDataset.
Shivani Agrawal [Tue, 19 Dec 2017 19:47:16 +0000 (11:47 -0800)]
[tf.data] Saveable iterator for DenseToSparseBatchDataset.

PiperOrigin-RevId: 179583450

7 years agoSupport more binary ops.
Yao Zhang [Tue, 19 Dec 2017 19:46:20 +0000 (11:46 -0800)]
Support more binary ops.

PiperOrigin-RevId: 179583326

7 years agoRemove a series of allocations and memcpys from the GCS read path (TF infeed path).
A. Unique TensorFlower [Tue, 19 Dec 2017 19:33:15 +0000 (11:33 -0800)]
Remove a series of allocations and memcpys from the GCS read path (TF infeed path).

The GCS client uses an intermediate std::vector<char> buffer for all reads. This turns out to have a substantial cost, in allocations and in memcpys. During load testing with a simple tool for measuring GCS throughput (but not running TensorFlow), removing this allocation and memcpy increased throughput by about 8%, and significantly reduced steady-state heap memory used.  I have not measured the impact when running the full TensorFlow pipeline, but I expect there to be gains, due to the lower memory utilization and the lower cache demand.

PiperOrigin-RevId: 179581563

7 years agoFix comment.
Guangda Lai [Tue, 19 Dec 2017 19:14:38 +0000 (11:14 -0800)]
Fix comment.

PiperOrigin-RevId: 179578952

7 years ago[XLA] Add support for atan2 on CPU
A. Unique TensorFlower [Tue, 19 Dec 2017 18:11:58 +0000 (10:11 -0800)]
[XLA] Add support for atan2 on CPU

This leans on the libm's atan2 for the actual routine but allows us to share
the implementation of other complex operations between CPU and GPU.

PiperOrigin-RevId: 179569666

7 years agoAutomated g4 rollback of changelist 179506342
HyoukJoong Lee [Tue, 19 Dec 2017 15:43:14 +0000 (07:43 -0800)]
Automated g4 rollback of changelist 179506342

PiperOrigin-RevId: 179552496

7 years agoRun ResizeArea tests on random data rather than all 0s.
A. Unique TensorFlower [Tue, 19 Dec 2017 15:40:36 +0000 (07:40 -0800)]
Run ResizeArea tests on random data rather than all 0s.

PiperOrigin-RevId: 179552297

7 years agoAutomated g4 rollback of changelist 179529787
Malcolm Reynolds [Tue, 19 Dec 2017 14:36:25 +0000 (06:36 -0800)]
Automated g4 rollback of changelist 179529787

PiperOrigin-RevId: 179546698

7 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Tue, 19 Dec 2017 13:48:13 +0000 (05:48 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.

PiperOrigin-RevId: 179542713

7 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Tue, 19 Dec 2017 13:36:22 +0000 (05:36 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 179542009

7 years agoAvoid casting to/from int64 in Categorical._sample_n
A. Unique TensorFlower [Tue, 19 Dec 2017 10:55:10 +0000 (02:55 -0800)]
Avoid casting to/from int64 in Categorical._sample_n

PiperOrigin-RevId: 179529787

7 years ago[XLA] Adding more tests for conditional.
A. Unique TensorFlower [Tue, 19 Dec 2017 07:07:13 +0000 (23:07 -0800)]
[XLA] Adding more tests for conditional.

PiperOrigin-RevId: 179514274

7 years agoChanged the buffer liveness such that the buffers pointed to by the root
HyoukJoong Lee [Tue, 19 Dec 2017 04:48:26 +0000 (20:48 -0800)]
Changed the buffer liveness such that the buffers pointed to by the root
instruction have liveness to the end of the computation.

PiperOrigin-RevId: 179506342

7 years agoAdded virtual gpu support.
Guangda Lai [Tue, 19 Dec 2017 04:16:08 +0000 (20:16 -0800)]
Added virtual gpu support.

PiperOrigin-RevId: 179504116

7 years ago[XLA] Hlo parser: don't crash if no computation is specified as ENTRY. Also disallow...
A. Unique TensorFlower [Tue, 19 Dec 2017 03:07:23 +0000 (19:07 -0800)]
[XLA] Hlo parser: don't crash if no computation is specified as ENTRY. Also disallow multiple entry computations and multiple root intructions.

PiperOrigin-RevId: 179498839

7 years agoSupport more unary ops.
Yao Zhang [Tue, 19 Dec 2017 02:53:35 +0000 (18:53 -0800)]
Support more unary ops.

PiperOrigin-RevId: 179498141

7 years agoSupport more activation ops.
Yao Zhang [Tue, 19 Dec 2017 01:45:50 +0000 (17:45 -0800)]
Support more activation ops.

PiperOrigin-RevId: 179493169

7 years agoAdd probabilistic convolutional layers.
Dustin Tran [Tue, 19 Dec 2017 01:15:01 +0000 (17:15 -0800)]
Add probabilistic convolutional layers.

PiperOrigin-RevId: 179490700

7 years ago[XLA] Add pow(pow(A, X), Y) => pow(A, X*Y) simplification.
Justin Lebar [Tue, 19 Dec 2017 00:43:08 +0000 (16:43 -0800)]
[XLA] Add pow(pow(A, X), Y) => pow(A, X*Y) simplification.

PiperOrigin-RevId: 179487434

7 years agoFix typo in comment for GetRoot().
A. Unique TensorFlower [Tue, 19 Dec 2017 00:37:40 +0000 (16:37 -0800)]
Fix typo in comment for GetRoot().

PiperOrigin-RevId: 179486882

7 years ago[XLA] Add format field to layout
A. Unique TensorFlower [Mon, 18 Dec 2017 23:14:59 +0000 (15:14 -0800)]
[XLA] Add format field to layout

Format will describe the method used to store array data in memory. Currently
only DENSE is supported, which represents the way XLA currently stores arrays.

Scalars have a DENSE format. Tuples and opaque shapes use INVALID_FORMAT.

Adds checks to code that uses minor_to_major to ensure the layout is dense.

PiperOrigin-RevId: 179475450

7 years agoDelete the instructions regarding manually installing protobuf.
Jonathan Hseu [Mon, 18 Dec 2017 22:01:58 +0000 (14:01 -0800)]
Delete the instructions regarding manually installing protobuf.

PiperOrigin-RevId: 179464468

7 years agoSavedModel tag logging.
Sukriti Ramesh [Mon, 18 Dec 2017 21:20:19 +0000 (13:20 -0800)]
SavedModel tag logging.

PiperOrigin-RevId: 179460064