platform/upstream/tensorflow.git
6 years agoReland improve fusion logic of (a dot b) * alpha
A. Unique TensorFlower [Tue, 15 May 2018 08:22:13 +0000 (01:22 -0700)]
Reland improve fusion logic of (a dot b) * alpha

The previous fusion approach didn't work because a multiplication by a scalar value
will be changed into an explicit broadcast.
Another issue that is fixed in this CL is retrieving the constant value from
the literal. This depends on the PrimitiveType, before we always assumed it to be double.
Also when checking ImplementedAsGemm() we should not call it recursively, but instead just the check related to kDot.
Finally add an execution test and adjust the fusion logic test.

The fix for the issue that caused the revert is that we check earlier that consumer->operand_count() is 2.
Also, we fix the call to Get() to pass {} instead of {0}.
And we handle an output fusion node in GemmThunk to extract the dimension numbers from the dot operation.

PiperOrigin-RevId: 196631031

6 years ago[TF:XLA] Scheduling test which demonstrates that we are ignoring the memory needed...
Dimitris Vardoulakis [Tue, 15 May 2018 05:28:06 +0000 (22:28 -0700)]
[TF:XLA] Scheduling test which demonstrates that we are ignoring the memory needed by subcomputations.

PiperOrigin-RevId: 196618347

6 years agoAdded type check to feature column keys. So that users will get meaningful error...
Mustafa Ispir [Tue, 15 May 2018 05:04:50 +0000 (22:04 -0700)]
Added type check to feature column keys. So that users will get meaningful error messages in situations like: #19219

PiperOrigin-RevId: 196616638

6 years agoPartial update of tf.keras to the Keras 2.1.6 API.
Pavithra Vijay [Tue, 15 May 2018 04:43:55 +0000 (21:43 -0700)]
Partial update of tf.keras to the Keras 2.1.6 API.

Changes included are:
- Fix `batch_dot` when `axes=None`
- Add axis=-1 as an argument to keras.backend.softmax
- Fix ctc_batch_cost() error when batch_size = 1
- Print previous best in ModelCheckpoint callback
- Fix ReduceLROnPlateau callback
- Extend RemoteMonitor to send data as application/json
- Fix default dilation rate value in 2D separable conv.
- Fix for MobileNet model with undefined shape
- Disable require_flatten in nasnet & Add an error message for undefined shape.
- Improve tests by designating dtype of sample data
- Multi_gpu_model supporting legacy/fullCPU/fullGPU

PiperOrigin-RevId: 196615376

6 years ago Function should inherit device information from the caller site.
Youlong Cheng [Tue, 15 May 2018 04:28:44 +0000 (21:28 -0700)]
  Function should inherit device information from the caller site.

PiperOrigin-RevId: 196614376

6 years agoUpdate SCALED mode to use the full quantized range of -128..127 when possible.
A. Unique TensorFlower [Tue, 15 May 2018 02:38:37 +0000 (19:38 -0700)]
Update SCALED mode to use the full quantized range of -128..127 when possible.

PiperOrigin-RevId: 196606455

6 years ago[XLA] Move more comparison functions to non-test library.
Chris Leary [Tue, 15 May 2018 02:21:10 +0000 (19:21 -0700)]
[XLA] Move more comparison functions to non-test library.

PiperOrigin-RevId: 196605347

6 years agoMove model_to_estimator utility into Estimator from Keras.
Michael Case [Tue, 15 May 2018 02:15:51 +0000 (19:15 -0700)]
Move model_to_estimator utility into Estimator from Keras.

Working on untangling TF/Estimator deps. We would like to get to a state
where Estimator depends on Keras and not vice versa

PiperOrigin-RevId: 196605024

6 years agoFix a bug in HloInstruction::ImplicitlyBroadcastsOperand where operands with the...
Yunxing Dai [Tue, 15 May 2018 01:55:20 +0000 (18:55 -0700)]
Fix a bug in HloInstruction::ImplicitlyBroadcastsOperand where operands with the same dimension but different types are not considered broadcast.

PiperOrigin-RevId: 196603348

6 years agoAdds CsvDataset, which both reads and parses files.
Rachel Lim [Tue, 15 May 2018 01:30:49 +0000 (18:30 -0700)]
Adds CsvDataset, which both reads and parses files.
Example usage: dataset = tf.contrib.data.CsvDataset(filenames, record_defaults=record_defaults, **kwargs)
Motivation: Fusing reading and parsing is more performant and correct than the previous canonical CSV parsing flow (`dataset = tf.data.TextLineDataset(filenames).map(lambda l: tf.decode_csv(l, **kwargs))`)

Closes #19077.

PiperOrigin-RevId: 196601381

6 years agoDisable LinearOperatorKroneckerTest.test_solve_{with_broadcast} temporarily.
A. Unique TensorFlower [Tue, 15 May 2018 01:29:59 +0000 (18:29 -0700)]
Disable LinearOperatorKroneckerTest.test_solve_{with_broadcast} temporarily.

PiperOrigin-RevId: 196601310

6 years ago[tf.data] Add optional `args` argument to `Dataset.from_generator()`.
Derek Murray [Tue, 15 May 2018 01:04:31 +0000 (18:04 -0700)]
[tf.data] Add optional `args` argument to `Dataset.from_generator()`.

The new argument allows you to parameterize the generator with the value of a tf.Tensor,
enabling `Dataset.from_generator()` to be initialized from a placeholder or used in a
nested expression (such as `flat_map()` or `parallel_interleave()`). For example:

```python
def generator(n):
  for _ in range(n):
    yield n

# Define a generator based on a placeholder.
placeholder = tf.placeholder(tf.int64, shape=[])
dataset = tf.data.Dataset.from_generator(generator, tf.int64, args=(placeholder,))

# Define a generator based on the value of a nested dataset element.
dataset = tf.data.Dataset.range(10).flat_map(
    lambda i: tf.data.Dataset.from_generator(generator, tf.int64, args=(i,)))
```

Fixes #19269. Partially addresses issue #13101.

PiperOrigin-RevId: 196598650

6 years agoIntroduce LossScalingOptimizer for mixed precision training.
James Qin [Tue, 15 May 2018 00:51:11 +0000 (17:51 -0700)]
Introduce LossScalingOptimizer for mixed precision training.

PiperOrigin-RevId: 196597196

6 years agoAdd an option to execute eval on cpu, regardless of training runs on TPU.
A. Unique TensorFlower [Mon, 14 May 2018 23:39:11 +0000 (16:39 -0700)]
Add an option to execute eval on cpu, regardless of training runs on TPU.
This will let users to benefit from TPU training, but avoid complex
eval metrics functions to be ported to TPU.

PiperOrigin-RevId: 196587755

6 years agoRefactoring: Make OpResolver return const pointer.
Yu-Cheng Ling [Mon, 14 May 2018 23:35:22 +0000 (16:35 -0700)]
Refactoring: Make OpResolver return const pointer.
PiperOrigin-RevId: 196587227

6 years agoAutomated g4 rollback of changelist 196565296
Pavithra Vijay [Mon, 14 May 2018 23:30:49 +0000 (16:30 -0700)]
Automated g4 rollback of changelist 196565296

PiperOrigin-RevId: 196586601

6 years agoClangTidy - Readability cleanup:/code-findings-fixes.
A. Unique TensorFlower [Mon, 14 May 2018 23:26:33 +0000 (16:26 -0700)]
ClangTidy - Readability cleanup:/code-findings-fixes.

* unused using-declarations
* redundant string conversions
* C-style casts
* redundant get() call on smart pointer
* the 'empty' method should be used to check for emptiness instead of 'size'

PiperOrigin-RevId: 196585984

6 years agoMake sure that variables aren't created as partition variables since only non-scalar...
Suharsh Sivakumar [Mon, 14 May 2018 23:17:46 +0000 (16:17 -0700)]
Make sure that variables aren't created as partition variables since only non-scalar partition variables are supported.

PiperOrigin-RevId: 196584749

6 years agoFix bug where custom layers could crash.
Reed Wanderman-Milne [Mon, 14 May 2018 23:07:33 +0000 (16:07 -0700)]
Fix bug where custom layers could crash.

Layer.add_weight would crash when called without a dtype or initializer.

PiperOrigin-RevId: 196583182

6 years agoFix functional.While(), functional.For(rewrite_with_while)
James Qin [Mon, 14 May 2018 22:51:36 +0000 (15:51 -0700)]
Fix functional.While(), functional.For(rewrite_with_while)

When executing on GPU, synchronously copy cond result from device to host.

PiperOrigin-RevId: 196580820

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Mon, 14 May 2018 22:50:06 +0000 (15:50 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 196580619

6 years agoAdd ExplicitShapes as a new shape inference function for Ops with
A. Unique TensorFlower [Mon, 14 May 2018 22:45:33 +0000 (15:45 -0700)]
Add ExplicitShapes as a new shape inference function for Ops with
multiple outputs, each of which is explicitly declared.

PiperOrigin-RevId: 196579920

6 years agoRemove CuDNNRNN timing test.
Pavithra Vijay [Mon, 14 May 2018 22:32:44 +0000 (15:32 -0700)]
Remove CuDNNRNN timing test.

PiperOrigin-RevId: 196578043

6 years agoFix copy functions of MutableOpResolver
Yu-Cheng Ling [Mon, 14 May 2018 22:27:51 +0000 (15:27 -0700)]
Fix copy functions of MutableOpResolver

PiperOrigin-RevId: 196577314

6 years agoUsed aligned allocation for vector cache.
Shashi Shekhar [Mon, 14 May 2018 22:22:04 +0000 (15:22 -0700)]
Used aligned allocation for vector cache.

PiperOrigin-RevId: 196576497

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Mon, 14 May 2018 22:20:07 +0000 (15:20 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 196576189

6 years agoInternal change.
A. Unique TensorFlower [Mon, 14 May 2018 22:15:38 +0000 (15:15 -0700)]
Internal change.

PiperOrigin-RevId: 196575483

6 years agoRefactoring: Remove lite/tools:mutable_op_resolver dependency.
Yu-Cheng Ling [Mon, 14 May 2018 22:14:53 +0000 (15:14 -0700)]
Refactoring: Remove lite/tools:mutable_op_resolver dependency.
PiperOrigin-RevId: 196575387

6 years agoStricter analysis for functional conditional generation
A. Unique TensorFlower [Mon, 14 May 2018 22:06:17 +0000 (15:06 -0700)]
Stricter analysis for functional conditional generation

PiperOrigin-RevId: 196573938

6 years agoDo shape validation in ScatterNd kernel, not just the shape inference function.
Alexandre Passos [Mon, 14 May 2018 21:58:17 +0000 (14:58 -0700)]
Do shape validation in ScatterNd kernel, not just the shape inference function.

Fixes #18648

PiperOrigin-RevId: 196572262

6 years agoFail gracefully with a helpful error message when provided with conflicting
Asim Shankar [Mon, 14 May 2018 21:56:36 +0000 (14:56 -0700)]
Fail gracefully with a helpful error message when provided with conflicting
visible_devices_list.

See #19083
See #18861

More generally, this change avoids assertion failures (that will bring the
whole process down) on a few code-paths that can be triggerred by user input.

PiperOrigin-RevId: 196572013

6 years agoInternal change.
A. Unique TensorFlower [Mon, 14 May 2018 21:49:08 +0000 (14:49 -0700)]
Internal change.

PiperOrigin-RevId: 196570742

6 years agoMake CollectiveParamReducerLocal::InitInstanceSharedParams non-blocking.
A. Unique TensorFlower [Mon, 14 May 2018 21:44:31 +0000 (14:44 -0700)]
Make CollectiveParamReducerLocal::InitInstanceSharedParams non-blocking.

PiperOrigin-RevId: 196570011

6 years agoAutomated g4 rollback of changelist 196456687
Gunhan Gulsoy [Mon, 14 May 2018 21:32:15 +0000 (14:32 -0700)]
Automated g4 rollback of changelist 196456687

PiperOrigin-RevId: 196567964

6 years agoAdd score filtering to tf.image.non_max_suppression.
A. Unique TensorFlower [Mon, 14 May 2018 21:32:03 +0000 (14:32 -0700)]
Add score filtering to tf.image.non_max_suppression.

PiperOrigin-RevId: 196567928

6 years agoUpdate the eager programmer's guide to reflect the fact that "==" is not
Akshay Agrawal [Mon, 14 May 2018 21:25:55 +0000 (14:25 -0700)]
Update the eager programmer's guide to reflect the fact that "==" is not
implemented in the natural way for the Tensor class.

PiperOrigin-RevId: 196566940

6 years agoReverseDFS scheduler reverses the heuristics used in DFSScheduler.
Yunxing Dai [Mon, 14 May 2018 21:18:11 +0000 (14:18 -0700)]
ReverseDFS scheduler reverses the heuristics used in DFSScheduler.

Also fixes hlo_schedule_test to remove the expected order on unrelated operations.

PiperOrigin-RevId: 196565651

6 years agoDisable flaky cudnn_recurrent test
Gunhan Gulsoy [Mon, 14 May 2018 21:16:09 +0000 (14:16 -0700)]
Disable flaky cudnn_recurrent test

PiperOrigin-RevId: 196565296

6 years agoReenable virtual gpu test, and decrease the number of testing rounds.
Guangda Lai [Mon, 14 May 2018 21:15:14 +0000 (14:15 -0700)]
Reenable virtual gpu test, and decrease the number of testing rounds.

PiperOrigin-RevId: 196565153

6 years ago[XLA] Ergonomic improvements to --xla_hlo_profile.
Justin Lebar [Mon, 14 May 2018 21:09:01 +0000 (14:09 -0700)]
[XLA] Ergonomic improvements to --xla_hlo_profile.

- Don't display ops with 0 optimal seconds and 0 actual cycles.  These
  are ops that were expected to be free and were actually free.

- Fix HloCostAnalysis to mark parameters, constants, and
  get-tuple-element as expected-to-be-free per the definition above.

- Allow optimal-seconds < 0 to indicate "I don't know".  Use this for
  custom calls, and then hide such ops from the "seconds above the
  optimum" table.

- Don't display "<none>" and "<unknown>" -- instead, just display the
  empty string.  Less visual noise.

- Instead of showing ~5 ops per category in the categories tables, show
  everything.  This isn't so noisy now that we're hiding "free" ops, and
  it makes finding optimization opportunities much easier.

PiperOrigin-RevId: 196564177

6 years agoAdd If op rewriter.
Jacques Pienaar [Mon, 14 May 2018 21:04:05 +0000 (14:04 -0700)]
Add If op rewriter.

* Add attribute to If op to indicate if lowering to switch-merge form is
  needed;
* Add initial version of If op rewriter than transforms a If op into
  switch/merge nodes (as would have been constructed via tf.cond) if the If op
  has the lowering attribute set.
  - The pass is not ready for general use and, for example, does not support
    reference data types.

PiperOrigin-RevId: 196563421

6 years agoReserves 'context' key in TPUEstimator params dict.
Jianwei Xie [Mon, 14 May 2018 20:53:00 +0000 (13:53 -0700)]
Reserves 'context' key in TPUEstimator params dict.

PiperOrigin-RevId: 196561620

6 years agoAdd CheckpointInputPipelineHook to the API docs.
Saurabh Saxena [Mon, 14 May 2018 20:44:52 +0000 (13:44 -0700)]
Add CheckpointInputPipelineHook to the API docs.

PiperOrigin-RevId: 196560221

6 years agoAdded support for strided slicing of symbolic shapes
Benoit Steiner [Mon, 14 May 2018 20:33:46 +0000 (13:33 -0700)]
Added support for strided slicing of symbolic shapes

PiperOrigin-RevId: 196558466

6 years agoResolve inlined function input/output types from GrapplerFunctionItem.
A. Unique TensorFlower [Mon, 14 May 2018 20:30:53 +0000 (13:30 -0700)]
Resolve inlined function input/output types from GrapplerFunctionItem.

Remove duplicated code to resolve type from attributes.

PiperOrigin-RevId: 196558061

6 years agoUpdated speech commands example to use new dataset
Pete Warden [Mon, 14 May 2018 20:24:58 +0000 (13:24 -0700)]
Updated speech commands example to use new dataset

PiperOrigin-RevId: 196557132

6 years agoVarious ClangTidy-inspired fixes.
A. Unique TensorFlower [Mon, 14 May 2018 20:22:09 +0000 (13:22 -0700)]
Various ClangTidy-inspired fixes.

PiperOrigin-RevId: 196556727

6 years ago add memory utilization estimate for HLO op profile.
A. Unique TensorFlower [Mon, 14 May 2018 20:00:26 +0000 (13:00 -0700)]
  add memory utilization estimate for HLO op profile.

PiperOrigin-RevId: 196553696

6 years agoDeletes an unused private method in head.py
A. Unique TensorFlower [Mon, 14 May 2018 19:03:50 +0000 (12:03 -0700)]
Deletes an unused private method in head.py

PiperOrigin-RevId: 196545696

6 years agoDon't check that bool arrays are quantized.
A. Unique TensorFlower [Mon, 14 May 2018 18:40:50 +0000 (11:40 -0700)]
Don't check that bool arrays are quantized.

PiperOrigin-RevId: 196541955

6 years agoUse utility methods to compute AttrValue hash code and check for equality.
A. Unique TensorFlower [Mon, 14 May 2018 17:43:08 +0000 (10:43 -0700)]
Use utility methods to compute AttrValue hash code and check for equality.

PiperOrigin-RevId: 196531355

6 years agoavoid having stream_executor depend on tensorflow/core
A. Unique TensorFlower [Mon, 14 May 2018 16:51:52 +0000 (09:51 -0700)]
avoid having stream_executor depend on tensorflow/core

PiperOrigin-RevId: 196521381

6 years agoExtracts the following optimizations into methods:
A. Unique TensorFlower [Mon, 14 May 2018 16:45:42 +0000 (09:45 -0700)]
Extracts the following optimizations into methods:

PartialConstPropThroughIdentityN
ConstantPushDown

PiperOrigin-RevId: 196520167

6 years agoPre-factoring: Fix overly specific test expectations to prepare for multi-output...
A. Unique TensorFlower [Mon, 14 May 2018 16:06:25 +0000 (09:06 -0700)]
Pre-factoring: Fix overly specific test expectations to prepare for multi-output fusion.
PiperOrigin-RevId: 196514026

6 years agoPrevent removal of constant inputs to passthrough ops.
A. Unique TensorFlower [Mon, 14 May 2018 14:53:04 +0000 (07:53 -0700)]
Prevent removal of constant inputs to passthrough ops.

PiperOrigin-RevId: 196505061

6 years agoBump protobuf dependency to fix windows build issues.
Gunhan Gulsoy [Mon, 14 May 2018 05:30:21 +0000 (22:30 -0700)]
Bump protobuf dependency to fix windows build issues.

PiperOrigin-RevId: 196456687

6 years agoIntroduce op version into TFLite
Yu-Cheng Ling [Mon, 14 May 2018 02:52:18 +0000 (19:52 -0700)]
Introduce op version into TFLite

PiperOrigin-RevId: 196448769

6 years agoUpdate UI for Camera example.
Shashi Shekhar [Mon, 14 May 2018 01:21:21 +0000 (18:21 -0700)]
Update UI for Camera example.

PiperOrigin-RevId: 196444970

6 years agoClangTidy - Legacy cleanup:
A. Unique TensorFlower [Sun, 13 May 2018 23:52:14 +0000 (16:52 -0700)]
ClangTidy - Legacy cleanup:

  * use nullptr
  * converting integer literal to bool, use bool literal instead
  * annotate this function with 'override' or (rarely) 'final'
  * prefer using 'override' or (rarely) 'final' instead of 'virtual'

PiperOrigin-RevId: 196441181

6 years agoFix logic bug: should use logical-AND, not bitwise-AND.
A. Unique TensorFlower [Sun, 13 May 2018 20:53:35 +0000 (13:53 -0700)]
Fix logic bug: should use logical-AND, not bitwise-AND.

PiperOrigin-RevId: 196435466

6 years agoMake CPython implementation function type-correct, which removes UB from calling...
A. Unique TensorFlower [Sun, 13 May 2018 17:09:58 +0000 (10:09 -0700)]
Make CPython implementation function type-correct, which removes UB from calling a function through a pointer of the wrong type, and also removes a C-style cast.

PiperOrigin-RevId: 196428430

6 years agoAutomated g4 rollback of changelist 196349902
A. Unique TensorFlower [Sat, 12 May 2018 22:40:29 +0000 (15:40 -0700)]
Automated g4 rollback of changelist 196349902

PiperOrigin-RevId: 196387391

6 years agoCheck that the module group metadata builder correctly detects whether there are...
A. Unique TensorFlower [Sat, 12 May 2018 14:13:06 +0000 (07:13 -0700)]
Check that the module group metadata builder correctly detects whether there are more than one companion instruction per device/module.

PiperOrigin-RevId: 196369766

6 years agoAdding cuDNN header dependency to targets that include the cuDNN header file.
A. Unique TensorFlower [Sat, 12 May 2018 06:48:06 +0000 (23:48 -0700)]
Adding cuDNN header dependency to targets that include the cuDNN header file.

PiperOrigin-RevId: 196349902

6 years agoAutomated g4 rollback of changelist 196166118
A. Unique TensorFlower [Sat, 12 May 2018 02:41:09 +0000 (19:41 -0700)]
Automated g4 rollback of changelist 196166118

PiperOrigin-RevId: 196340289

6 years agoMaking GetInput from kernel_util.h return a pointer to const data.
A. Unique TensorFlower [Sat, 12 May 2018 02:38:48 +0000 (19:38 -0700)]
Making GetInput from kernel_util.h return a pointer to const data.

PiperOrigin-RevId: 196340200

6 years agoAdd bool conversion in toco for tflite since bool is supported by tflite.
A. Unique TensorFlower [Sat, 12 May 2018 02:31:37 +0000 (19:31 -0700)]
Add bool conversion in toco for tflite since bool is supported by tflite.

PiperOrigin-RevId: 196339883

6 years agoImplement additional options to control the string output of HloInstruction and HloCo...
A. Unique TensorFlower [Sat, 12 May 2018 00:53:06 +0000 (17:53 -0700)]
Implement additional options to control the string output of HloInstruction and HloComputation.

PiperOrigin-RevId: 196334340

6 years agoAdd IsCondMerge.
Jacques Pienaar [Sat, 12 May 2018 00:32:25 +0000 (17:32 -0700)]
Add IsCondMerge.

PiperOrigin-RevId: 196332782

6 years agoAdd hook for checkpointing input pipeline while training with Estimator.
Saurabh Saxena [Sat, 12 May 2018 00:14:29 +0000 (17:14 -0700)]
Add hook for checkpointing input pipeline while training with Estimator.

PiperOrigin-RevId: 196331223

6 years ago[XLA] s/tensorflow::Status/Status/.
Justin Lebar [Fri, 11 May 2018 23:04:54 +0000 (16:04 -0700)]
[XLA] s/tensorflow::Status/Status/.

These are type aliases of one another; we'd like to be consistent and
use the shorter one.

PiperOrigin-RevId: 196322955

6 years agoCheckpointable: Remove overzealous error checking from tf.make_template
Allen Lavoie [Fri, 11 May 2018 22:58:39 +0000 (15:58 -0700)]
Checkpointable: Remove overzealous error checking from tf.make_template

It was checking that all variables in the Template's scope were dependencies, but Optimizer slot variables are created with the same prefix (and should not be dependencies).

Conversely, eager execution's eager slot variable creation meant that Templates create unnecessary/somewhat harmful dependencies on restored slot variables. Fixes that.

PiperOrigin-RevId: 196321999

6 years agoIn broadcaster.cc send from the input tensor, not the output, since
A. Unique TensorFlower [Fri, 11 May 2018 22:44:39 +0000 (15:44 -0700)]
In broadcaster.cc send from the input tensor, not the output, since
it may not have been forwarded.  Add non-forwarding cases to unittest.

PiperOrigin-RevId: 196320304

6 years agoAdd `<float>` to the call to `Tensor`
Mark Daoust [Fri, 11 May 2018 22:17:58 +0000 (15:17 -0700)]
Add `<float>` to the call to `Tensor`

PiperOrigin-RevId: 196316735

6 years agoExpose MaybeGetMinimumShape for use in cost estimators other than OpLevelCostEstimator.
A. Unique TensorFlower [Fri, 11 May 2018 22:07:48 +0000 (15:07 -0700)]
Expose MaybeGetMinimumShape for use in cost estimators other than OpLevelCostEstimator.

PiperOrigin-RevId: 196315239

6 years agoIntroduce an indirection to access posix/error.h, so implementations don't
A. Unique TensorFlower [Fri, 11 May 2018 22:07:47 +0000 (15:07 -0700)]
Introduce an indirection to access posix/error.h, so implementations don't
have to worry about platform details.

PiperOrigin-RevId: 196315234

6 years agoImplement constant-only ListDiff Op in XLA to support dense layer.
A. Unique TensorFlower [Fri, 11 May 2018 22:07:24 +0000 (15:07 -0700)]
Implement constant-only ListDiff Op in XLA to support dense layer.

PiperOrigin-RevId: 196315170

6 years ago[XLA:GPU] Load kernel thunks' kernels before running them.
Justin Lebar [Fri, 11 May 2018 22:04:41 +0000 (15:04 -0700)]
[XLA:GPU] Load kernel thunks' kernels before running them.

The motivation here is that with --xla_hlo_profile, we count the time
spent in Thunk::ExecuteOnStream, but we don't want to count the time
spent loading the CUDA code into the GPU as time spent in the first
kernel thunk we try to run.

PiperOrigin-RevId: 196314733

6 years agoModify the python interface to toco to provide arithmetic operations used by the...
A. Unique TensorFlower [Fri, 11 May 2018 22:03:34 +0000 (15:03 -0700)]
Modify the python interface to toco to provide arithmetic operations used by the model.

PiperOrigin-RevId: 196314416

6 years agoRemove degenerate batch dimensions form batch dot
Sanjoy Das [Fri, 11 May 2018 22:02:33 +0000 (15:02 -0700)]
Remove degenerate batch dimensions form batch dot

The way things are set up today this specific optimization isn't particularly
important, but I want to implement a follow-on optimization in
BatchDotSimplification to transform (non-degenerate) batch GEMV operations into
GEMM which I'm expecting to help us a bit.

This would normally be in the algebraic simplifier, but we want to fixpoint this
pass before we run DotDecomposer.  This will become more important when we
implement the (non-degenerate) batch GEMV operations -> GEMM transform.

PiperOrigin-RevId: 196314230

6 years ago[TF:XLA] Bump open source llvm revision to r332085
Sanjoy Das [Fri, 11 May 2018 22:02:15 +0000 (15:02 -0700)]
[TF:XLA] Bump open source llvm revision to r332085

PiperOrigin-RevId: 196314181

6 years agoCheckpointable: Add UniqueNameTracker for managing dependencies on arbitrarily named...
Allen Lavoie [Fri, 11 May 2018 21:45:36 +0000 (14:45 -0700)]
Checkpointable: Add UniqueNameTracker for managing dependencies on arbitrarily named objects

Makes generating object-unique dependency names easier, which will hopefully discourage people from using Graph-global names with Checkpointable.

PiperOrigin-RevId: 196311633

6 years agoAdd some python wrapper for TF_ApiDefMap.
A. Unique TensorFlower [Fri, 11 May 2018 21:24:47 +0000 (14:24 -0700)]
Add some python wrapper for TF_ApiDefMap.

PiperOrigin-RevId: 196308677

6 years agoMake the elemental ir emitter for dot operations respect contraction dims
Sanjoy Das [Fri, 11 May 2018 21:05:38 +0000 (14:05 -0700)]
Make the elemental ir emitter for dot operations respect contraction dims

PiperOrigin-RevId: 196305803

6 years agoAllow zero initializer by default for string variables (no reason not to)
Alexandre Passos [Fri, 11 May 2018 20:42:31 +0000 (13:42 -0700)]
Allow zero initializer by default for string variables (no reason not to)

PiperOrigin-RevId: 196302302

6 years agoReads the L2 and L3 cache sizes from the system instead of using hard-coded constants.
A. Unique TensorFlower [Fri, 11 May 2018 19:55:55 +0000 (12:55 -0700)]
Reads the L2 and L3 cache sizes from the system instead of using hard-coded constants.

PiperOrigin-RevId: 196296096

6 years agoUpdate HeapSimulator to use BufferValue.
Jeremy Lau [Fri, 11 May 2018 19:39:40 +0000 (12:39 -0700)]
Update HeapSimulator to use BufferValue.

PiperOrigin-RevId: 196293610

6 years agoChange default number of threads to 1.
Shashi Shekhar [Fri, 11 May 2018 19:36:40 +0000 (12:36 -0700)]
Change default number of threads to 1.

PiperOrigin-RevId: 196293227

6 years agoUpdating the descriptions for TensorFlow.
Amit Patankar [Fri, 11 May 2018 19:27:40 +0000 (12:27 -0700)]
Updating the descriptions for TensorFlow.

PiperOrigin-RevId: 196291844

6 years agoRELNOTES: This allows the use of '.' in variables (e.g. "hparams.parse('a.b=1.0'...
A. Unique TensorFlower [Fri, 11 May 2018 18:04:33 +0000 (11:04 -0700)]
RELNOTES: This allows the use of '.' in variables (e.g. "hparams.parse('a.b=1.0')"), which would previously raise an error. This will correspond to an attribute name with an embedded '.' symbol (e.g. 'a.b'), which can only be accessed indirectly (e.g. through getattr and setattr).  To set this up the user will first need to explicitly add the variable to the hparam object (e.g. "hparams.add_hparam(name='a.b', value=0.0)").

NOTE: the use of '.' in variable names is now allowed, but it is not recommended.
PiperOrigin-RevId: 196278660

6 years agoAllow communicating instructions within a kCall computation.
A. Unique TensorFlower [Fri, 11 May 2018 18:04:22 +0000 (11:04 -0700)]
Allow communicating instructions within a kCall computation.

PiperOrigin-RevId: 196278635

6 years ago[XLA] Fix a doc that still mentioned computation_builder.
A. Unique TensorFlower [Fri, 11 May 2018 18:01:30 +0000 (11:01 -0700)]
[XLA] Fix a doc that still mentioned computation_builder.

PiperOrigin-RevId: 196278086

6 years agoMove fn_args utility into core TensorFlow from Estimator.
Michael Case [Fri, 11 May 2018 17:58:17 +0000 (10:58 -0700)]
Move fn_args utility into core TensorFlow from Estimator.

Working on untangling TF/Estimator deps. Some core TF code depends on Estimator
by using the fn_args utility function within Estimator.

PiperOrigin-RevId: 196277612

6 years agoIntroduce ordered_inputs option to graph_matcher to allow simpler matching of commuta...
Suharsh Sivakumar [Fri, 11 May 2018 17:51:24 +0000 (10:51 -0700)]
Introduce ordered_inputs option to graph_matcher to allow simpler matching of commutative operations.

#18919

PiperOrigin-RevId: 196276502

6 years agoUse Identity instead of Snapshot when the graph does not contain ops that modify...
A. Unique TensorFlower [Fri, 11 May 2018 17:43:30 +0000 (10:43 -0700)]
Use Identity instead of Snapshot when the graph does not contain ops that modify their inputs.

PiperOrigin-RevId: 196275133

6 years ago[XLA] Redesign: delete ComputationBuilder.
A. Unique TensorFlower [Fri, 11 May 2018 17:42:50 +0000 (10:42 -0700)]
[XLA] Redesign: delete ComputationBuilder.

PiperOrigin-RevId: 196275032

6 years agoAdds code examples in public head methods.
A. Unique TensorFlower [Fri, 11 May 2018 17:25:02 +0000 (10:25 -0700)]
Adds code examples in public head methods.

PiperOrigin-RevId: 196272143

6 years agoArithmeticOptimizer assumes valid feeds in aggressive mode.
Jingyue Wu [Fri, 11 May 2018 16:27:13 +0000 (09:27 -0700)]
ArithmeticOptimizer assumes valid feeds in aggressive mode.

ArithmeticOptimizer depends heavily on shapes in some stages.

PiperOrigin-RevId: 196264319

6 years agoMake core:device_tracer private to core/BUILD.
A. Unique TensorFlower [Fri, 11 May 2018 14:51:14 +0000 (07:51 -0700)]
Make core:device_tracer private to core/BUILD.

PiperOrigin-RevId: 196254936

6 years agoAdd NNAPI 1.1 Div/Mul/Pad/Mean nodes.
A. Unique TensorFlower [Fri, 11 May 2018 11:33:38 +0000 (04:33 -0700)]
Add NNAPI 1.1 Div/Mul/Pad/Mean nodes.

PiperOrigin-RevId: 196240584