platform/upstream/tensorflow.git
6 years agoUpdate programmers guide
A. Unique TensorFlower [Tue, 10 Apr 2018 23:31:46 +0000 (16:31 -0700)]
Update programmers guide

PiperOrigin-RevId: 192368335

6 years agoSupporting FakeQuant num_bits and getting the fake quant op matching tensorflow.
A. Unique TensorFlower [Tue, 10 Apr 2018 23:26:05 +0000 (16:26 -0700)]
Supporting FakeQuant num_bits and getting the fake quant op matching tensorflow.

PiperOrigin-RevId: 192367307

6 years ago[XLA] GRPC service definition.
Chris Leary [Tue, 10 Apr 2018 23:12:19 +0000 (16:12 -0700)]
[XLA] GRPC service definition.

PiperOrigin-RevId: 192364932

6 years agoFix `nn` module RNN namespace issues.
Francois Chollet [Tue, 10 Apr 2018 23:11:38 +0000 (16:11 -0700)]
Fix `nn` module RNN namespace issues.

PiperOrigin-RevId: 192364808

6 years agoAllow passing allow_custom_ops for toco_convert.
Mingxing Tan [Tue, 10 Apr 2018 22:59:39 +0000 (15:59 -0700)]
Allow passing allow_custom_ops for toco_convert.

PiperOrigin-RevId: 192362688

6 years agoCleaning up _distributed_apply now the device policy is unnecessary
Alexandre Passos [Tue, 10 Apr 2018 22:49:03 +0000 (15:49 -0700)]
Cleaning up _distributed_apply now the device policy is unnecessary

PiperOrigin-RevId: 192360913

6 years agoIn `get_variable`, nest the choice to use `ResourceVariable` under an
Akshay Agrawal [Tue, 10 Apr 2018 22:48:15 +0000 (15:48 -0700)]
In `get_variable`, nest the choice to use `ResourceVariable` under an
`init_scope`.

This makes sure that, when executing eagerly, calls to `get_variable` in a
`defun`-compiled function retrieve `ResourceVariable`s instead of `Variables`.

PiperOrigin-RevId: 192360775

6 years agoSmall changes to testing code, plus a new binary to check diff from command line.
A. Unique TensorFlower [Tue, 10 Apr 2018 22:45:37 +0000 (15:45 -0700)]
Small changes to testing code, plus a new binary to check diff from command line.

PiperOrigin-RevId: 192360373

6 years ago[XLA] Redesign: implement and test Conv.
A. Unique TensorFlower [Tue, 10 Apr 2018 22:39:37 +0000 (15:39 -0700)]
[XLA] Redesign: implement and test Conv.

PiperOrigin-RevId: 192359226

6 years agoAllow negative feature values in computation for `sum` combiner.
A. Unique TensorFlower [Tue, 10 Apr 2018 22:23:05 +0000 (15:23 -0700)]
Allow negative feature values in computation for `sum` combiner.

PiperOrigin-RevId: 192355950

6 years agoAdd quantized LogSoftmax.
A. Unique TensorFlower [Tue, 10 Apr 2018 22:01:49 +0000 (15:01 -0700)]
Add quantized LogSoftmax.

PiperOrigin-RevId: 192352432

6 years agoRun EvaluateNodes for ModelPrunerTest_StopGradientPruning. Also updated the test...
A. Unique TensorFlower [Tue, 10 Apr 2018 21:51:54 +0000 (14:51 -0700)]
Run EvaluateNodes for ModelPrunerTest_StopGradientPruning. Also updated the test fixture to inherit from GrapplerTest.

PiperOrigin-RevId: 192350828

6 years agoParseOpData returns kTfLiteError when error happens.
Yu-Cheng Ling [Tue, 10 Apr 2018 21:24:51 +0000 (14:24 -0700)]
ParseOpData returns kTfLiteError when error happens.

PiperOrigin-RevId: 192346224

6 years agoBug fix for statistical_testing:
A. Unique TensorFlower [Tue, 10 Apr 2018 21:22:33 +0000 (14:22 -0700)]
Bug fix for statistical_testing:
  - Max/Min computations should be done over the sample dimension.
  - Change dominate check to be greater_equal instead of greater (for matching dimensions).

PiperOrigin-RevId: 192345809

6 years agoAdd missing import for RNNClassifier
A. Unique TensorFlower [Tue, 10 Apr 2018 21:16:36 +0000 (14:16 -0700)]
Add missing import for RNNClassifier

PiperOrigin-RevId: 192344760

6 years ago[XLA] Redesign: implement and test Rev, BitcastConvertType, Map, and ReducePrecision.
A. Unique TensorFlower [Tue, 10 Apr 2018 21:04:29 +0000 (14:04 -0700)]
[XLA] Redesign: implement and test Rev, BitcastConvertType, Map, and ReducePrecision.

PiperOrigin-RevId: 192342686

6 years agoPad support for quantized zero.
Suharsh Sivakumar [Tue, 10 Apr 2018 21:02:02 +0000 (14:02 -0700)]
Pad support for quantized zero.

PiperOrigin-RevId: 192342172

6 years agotest previously untested eval codepaths.
A. Unique TensorFlower [Tue, 10 Apr 2018 20:59:49 +0000 (13:59 -0700)]
test previously untested eval codepaths.

PiperOrigin-RevId: 192341561

6 years agoHandle duplicate features by coalescing them together into a single feature.
A. Unique TensorFlower [Tue, 10 Apr 2018 20:57:00 +0000 (13:57 -0700)]
Handle duplicate features by coalescing them together into a single feature.

PiperOrigin-RevId: 192341065

6 years agoRefactor layers:
Francois Chollet [Tue, 10 Apr 2018 20:49:37 +0000 (13:49 -0700)]
Refactor layers:
- tf.layers layers now subclasses tf.keras.layers layers.
- tf.keras.layers is now agnostic to variable scopes and global collections (future-proof). It also uses ResourceVariable everywhere by default.
- As a result tf.keras.layers is in general lower-complexity, with fewer hacks and workarounds. However some of current code is temporary (variable creation should be moved to Checkpointable, arguably, and there are some dependency issues that will require later refactors).
- The legacy tf.layers layers behavior is kept, with references to variable scopes and global collections injected in the subclassed tf.layers.base.Layer class (the content of tf.layers.base.Layer is the complexity differential between the old implementation and the new one).

Note: this refactor does slightly change the behavior of tf.layers.base.Layer, by disabling extreme edge-case behavior that either has long been invalid, or is dangerous and should most definitely be disabled. This will not affect any users since such behaviors only existed in the base Layer unit tests. The behaviors disabled are:
- Option to create reusable variables in `call` (already invalid for some time).
- Option to use a variable scope to create layer variables outside of the layer while not having the layer track such variables locally.
PiperOrigin-RevId: 192339798

6 years agoUpdate declaration order in staging ops Buffer class according to C++ style guide
Smit Hinsu [Tue, 10 Apr 2018 20:32:38 +0000 (13:32 -0700)]
Update declaration order in staging ops Buffer class according to C++ style guide

PiperOrigin-RevId: 192336966

6 years agoCheckpointable: wrap restore ops in init_scope
Allen Lavoie [Tue, 10 Apr 2018 19:54:03 +0000 (12:54 -0700)]
Checkpointable: wrap restore ops in init_scope

This should make restore() work with defun-wrapped code, when variables are
created inside the function. Just lifts the restore code into the outer
context. Adds a test for it.

PiperOrigin-RevId: 192331065

6 years agoEmploy array flat sizes more directly in reference_ops.
A. Unique TensorFlower [Tue, 10 Apr 2018 19:28:56 +0000 (12:28 -0700)]
Employ array flat sizes more directly in reference_ops.

PiperOrigin-RevId: 192327464

6 years agoUpgrade gRPC version and fix file duplication
Noah Eisen [Tue, 10 Apr 2018 19:28:04 +0000 (12:28 -0700)]
Upgrade gRPC version and fix file duplication

This bumps the gRPC version used in OSS Tensorflow to pick up grpc/grpc#14541, which exposes gRPC serialization classes which were previously hidden in an internal namespace. Using these files eliminates files duplicated from gRPC repo

PiperOrigin-RevId: 192327358

6 years agoExpand list of value-preserving ops. This will increase the number of graphs where...
A. Unique TensorFlower [Tue, 10 Apr 2018 19:05:06 +0000 (12:05 -0700)]
Expand list of value-preserving ops. This will increase the number of graphs where we can apply the involution and mul->conv fusion optimizations.

PiperOrigin-RevId: 192323712

6 years agoEnable loop-invariant node motion in the Grappler loop optimizer.
A. Unique TensorFlower [Tue, 10 Apr 2018 18:57:40 +0000 (11:57 -0700)]
Enable loop-invariant node motion in the Grappler loop optimizer.
Thanks to the team at Alibaba, who contributed the original version of this code.

PiperOrigin-RevId: 192322484

6 years agoFix bug in TFLite Interpreter python interface
A. Unique TensorFlower [Tue, 10 Apr 2018 18:33:45 +0000 (11:33 -0700)]
Fix bug in TFLite Interpreter python interface

PiperOrigin-RevId: 192318426

6 years ago[XLA] Fix the size of the data returned from Literal for sparse literals.
A. Unique TensorFlower [Tue, 10 Apr 2018 18:20:38 +0000 (11:20 -0700)]
[XLA] Fix the size of the data returned from Literal for sparse literals.

PiperOrigin-RevId: 192315888

6 years agoAdds support for hoisting out common denominator in arithmetic_optimizer
A. Unique TensorFlower [Tue, 10 Apr 2018 18:09:37 +0000 (11:09 -0700)]
Adds support for hoisting out common denominator in arithmetic_optimizer

PiperOrigin-RevId: 192314177

6 years ago[TF:XLA] fix a segfault in MakeFakeArguments, and add a test case.
Nick Desaulniers [Tue, 10 Apr 2018 17:52:15 +0000 (10:52 -0700)]
[TF:XLA] fix a segfault in MakeFakeArguments, and add a test case.

PiperOrigin-RevId: 192310749

6 years agoSimplify test_util.run_in_graph_and_eager_modes
Asim Shankar [Tue, 10 Apr 2018 17:43:14 +0000 (10:43 -0700)]
Simplify test_util.run_in_graph_and_eager_modes

- Get rid of unnecessary options
- Update various resource variable tests so that they correctly exercise the cases where the variables are placed on GPU (these "with tf.device('/cpu:0')" blocks that were added for eager execution are no longer necessary)

PiperOrigin-RevId: 192309109

6 years agoPlace data format op on CPU:0.
Yao Zhang [Tue, 10 Apr 2018 17:07:31 +0000 (10:07 -0700)]
Place data format op on CPU:0.

PiperOrigin-RevId: 192302833

6 years agoFix markdown in a couple of tf.estimator docstrings.
A. Unique TensorFlower [Tue, 10 Apr 2018 16:50:02 +0000 (09:50 -0700)]
Fix markdown in a couple of tf.estimator docstrings.

PiperOrigin-RevId: 192299871

6 years agoRemove manifest_merger from tensorflow_demo. This is an internal-only attribute
A. Unique TensorFlower [Tue, 10 Apr 2018 16:41:45 +0000 (09:41 -0700)]
Remove manifest_merger from tensorflow_demo. This is an internal-only attribute
that is being removed from bazel.

PiperOrigin-RevId: 192298746

6 years agoFix capitalization (on master)
Mark Daoust [Tue, 10 Apr 2018 16:40:25 +0000 (09:40 -0700)]
Fix capitalization (on master)

PiperOrigin-RevId: 192298563

6 years ago[XLA:GPU] Add infrastructure for unrolling kernels to improve bandwidth utilization.
Benjamin Kramer [Tue, 10 Apr 2018 16:26:59 +0000 (09:26 -0700)]
[XLA:GPU] Add infrastructure for unrolling kernels to improve bandwidth utilization.

We often have simple kernels that do very little actual work, duplicating that
can increase the used bandwidth.

This change introduces flags and infrastructure for unrolling kernels, it
doesn't include any cost heuristics and is disabled by default. Based on code
written by Bixia Zheng.

PiperOrigin-RevId: 192296781

6 years agoAdded minimum op, better type support in maximum.
A. Unique TensorFlower [Tue, 10 Apr 2018 15:55:24 +0000 (08:55 -0700)]
Added minimum op, better type support in maximum.

PiperOrigin-RevId: 192292693

6 years agoUpdate document
A. Unique TensorFlower [Tue, 10 Apr 2018 15:51:18 +0000 (08:51 -0700)]
Update document

PiperOrigin-RevId: 192292160

6 years agoSuppress -Wself-assign in self-assignment tests, which triggers in newer clang
A. Unique TensorFlower [Tue, 10 Apr 2018 14:47:14 +0000 (07:47 -0700)]
Suppress -Wself-assign in self-assignment tests, which triggers in newer clang
revisions.

PiperOrigin-RevId: 192284946

6 years ago[XLA] Redesign: implement and test custom call.
A. Unique TensorFlower [Tue, 10 Apr 2018 06:13:11 +0000 (23:13 -0700)]
[XLA] Redesign: implement and test custom call.

PiperOrigin-RevId: 192241311

6 years ago[XLA] Redesign: implement XlaBuilder::IsConstant, XlaBuidler::BuildConstantSubGraph...
A. Unique TensorFlower [Tue, 10 Apr 2018 05:04:04 +0000 (22:04 -0700)]
[XLA] Redesign: implement XlaBuilder::IsConstant, XlaBuidler::BuildConstantSubGraph, and Client::ComputeConstant(XlaComputation...).
- Since the builder no longer holds a client, we moved the ComputeConstant to the client side so that it can communicate with the service side. Now we add XlaBuilder::BuildConstantSubGraph, which is only responsible for building a subgraph that is compile-time constant.
- Before this change, every XlaBuilder has a unique id. Now since it also builds constant subgraph, we give every XlaComputation being built a global unique id, and uniquify instruction names when actually building the XlaComputation.

PiperOrigin-RevId: 192236997

6 years agoImplementation of ArgMax
A. Unique TensorFlower [Tue, 10 Apr 2018 05:01:59 +0000 (22:01 -0700)]
Implementation of ArgMax

PiperOrigin-RevId: 192236845

6 years agoUpdating three tests in constant_folding_test.cc with PlaceHolders Nodes to check...
A. Unique TensorFlower [Tue, 10 Apr 2018 04:36:36 +0000 (21:36 -0700)]
Updating three tests in constant_folding_test.cc with PlaceHolders Nodes to check EvaluateNodes returns the same output for the original and optimized graph

PiperOrigin-RevId: 192235310

6 years agoFix the GCS Kokoro build badge links.
Michael Case [Tue, 10 Apr 2018 03:26:16 +0000 (20:26 -0700)]
Fix the GCS Kokoro build badge links.

The original badges I added were redirected/authenticated links (I think). This
resulted in broken images on the README. These new links should not be
redirected and should just link to the badge images.

PiperOrigin-RevId: 192230689

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Tue, 10 Apr 2018 02:46:01 +0000 (19:46 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 192227995

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Tue, 10 Apr 2018 02:19:38 +0000 (19:19 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 192226063

6 years ago[XLA] Attach a reference client to the client_library_test_base, and implement Comput...
A. Unique TensorFlower [Tue, 10 Apr 2018 02:06:05 +0000 (19:06 -0700)]
[XLA] Attach a reference client to the client_library_test_base, and implement ComputeAndCompare for XlaBuilder.
- In ComputeAndCompare(XlaBuilder..), compute the reference result by executing on the interpreter backend.
- Also migrate some tests to use the new ComputeAndCompare(XlaBuilder..).

PiperOrigin-RevId: 192225152

6 years agoInclude standard headers when libc++ requires them.
A. Unique TensorFlower [Tue, 10 Apr 2018 01:53:22 +0000 (18:53 -0700)]
Include standard headers when libc++ requires them.

PiperOrigin-RevId: 192224104

6 years ago Add the total device time and total host time to tf_op_stats.
A. Unique TensorFlower [Tue, 10 Apr 2018 01:46:09 +0000 (18:46 -0700)]
  Add the total device time and total host time to tf_op_stats.

PiperOrigin-RevId: 192223560

6 years ago[XLA] Redesign: implement fft.
A. Unique TensorFlower [Tue, 10 Apr 2018 01:08:13 +0000 (18:08 -0700)]
[XLA] Redesign: implement fft.

PiperOrigin-RevId: 192220070

6 years ago[tf.data] Add parameter for select_cols in tf.decode_csv for option to parse only...
Rachel Lim [Tue, 10 Apr 2018 01:03:57 +0000 (18:03 -0700)]
[tf.data] Add parameter for select_cols in tf.decode_csv for option to parse only a subset of CSV columns; added same parameter to make_csv_dataset function in tf.contrib.data.

PiperOrigin-RevId: 192219509

6 years agoboosted_trees: early stop hooks are fixed to stop at the right moment
Younghee Kwon [Tue, 10 Apr 2018 00:45:13 +0000 (17:45 -0700)]
boosted_trees: early stop hooks are fixed to stop at the right moment
 by reading tensor values in a separate session after train_op run.
PiperOrigin-RevId: 192217338

6 years agoRemove extra #define EIGEN_USE_THREADS.
Skye Wanderman-Milne [Tue, 10 Apr 2018 00:40:46 +0000 (17:40 -0700)]
Remove extra #define EIGEN_USE_THREADS.

It breaks some builds with
 error: "EIGEN_USE_THREADS" redefined [-Werror]

PiperOrigin-RevId: 192216796

6 years ago[slim] Allow passing timeout_fn to 'evaluation_loop' so that caller can have more...
A. Unique TensorFlower [Tue, 10 Apr 2018 00:36:41 +0000 (17:36 -0700)]
[slim] Allow passing timeout_fn to 'evaluation_loop' so that caller can have more control over what to do if checkpoints_iterator times out.

PiperOrigin-RevId: 192216302

6 years agoDon't fail when running shape inference on a graph that contains functions.
Benoit Steiner [Tue, 10 Apr 2018 00:30:27 +0000 (17:30 -0700)]
Don't fail when running shape inference on a graph that contains functions.

PiperOrigin-RevId: 192215493

6 years agoExport recurrent and its RNN implementation in tf.contrib.
Patrick Nguyen [Mon, 9 Apr 2018 23:55:06 +0000 (16:55 -0700)]
Export recurrent and its RNN implementation in tf.contrib.

PiperOrigin-RevId: 192210794

6 years agoInternal Change
A. Unique TensorFlower [Mon, 9 Apr 2018 23:43:02 +0000 (16:43 -0700)]
Internal Change

PiperOrigin-RevId: 192209093

6 years ago[XLA] Redesign: implement infeed and outfeed.
A. Unique TensorFlower [Mon, 9 Apr 2018 23:24:56 +0000 (16:24 -0700)]
[XLA] Redesign: implement infeed and outfeed.

- XlaBuilder::Infeed is basically ComputationBuilder::Infeed + UserComputation::AddInfeedInstruction + ComputationLowerer::Visit + HloInstruction::CreateInfeed.
- Similar for Outfeed.

PiperOrigin-RevId: 192206502

6 years agoHide slide_dataset from the new API.
Anna R [Mon, 9 Apr 2018 23:09:09 +0000 (16:09 -0700)]
Hide slide_dataset from the new API.

PiperOrigin-RevId: 192204209

6 years agoAdd bitcast-convert support to the evaluator and as a method on Literal.
Mark Heffernan [Mon, 9 Apr 2018 22:22:18 +0000 (15:22 -0700)]
Add bitcast-convert support to the evaluator and as a method on Literal.

PiperOrigin-RevId: 192197163

6 years ago[XLA] Use ThreadPool in a safer way.
Michael Kuperstein [Mon, 9 Apr 2018 22:02:21 +0000 (15:02 -0700)]
[XLA] Use ThreadPool in a safer way.

ThreadPool joins its threads when it is destroyed, and there's no way to explicitly join. This means passing a ThreadPool and then scheduling in the callee is risky.

PiperOrigin-RevId: 192193752

6 years agoDon't run test flaky under TSAN.
A. Unique TensorFlower [Mon, 9 Apr 2018 22:00:17 +0000 (15:00 -0700)]
Don't run test flaky under TSAN.

PiperOrigin-RevId: 192193350

6 years agoAcknowledges tape in graph mode doesn't like unknown shapes
Alexandre Passos [Mon, 9 Apr 2018 21:56:18 +0000 (14:56 -0700)]
Acknowledges tape in graph mode doesn't like unknown shapes

PiperOrigin-RevId: 192192757

6 years agoTweak the context stack so init_scope works with eager Graphs
Allen Lavoie [Mon, 9 Apr 2018 21:52:53 +0000 (14:52 -0700)]
Tweak the context stack so init_scope works with eager Graphs

Previously breaking out into Graphs created with eager execution enabled would
enter the graph but not re-enable eager execution.

PiperOrigin-RevId: 192192109

6 years agoDon't initialize global threadpool in GraphRunner.
Skye Wanderman-Milne [Mon, 9 Apr 2018 21:26:55 +0000 (14:26 -0700)]
Don't initialize global threadpool in GraphRunner.

TF_Graph creates a ShapeRefiner, which in
turn creates a GraphRunner, which prior to this change would eventually create a
LocalDevice that initialized the global eigen threadpool. This prevents
users from specifying a custom number of threads for the pool via a
ConfigProto.

This change introduces a new device class, SingleThreadedCpuDevice, that can
be used for light-weight computations without initializing the threadpool.

Addresses #18300.

PiperOrigin-RevId: 192188031

6 years agoFix GPUDebugAllocator and GPUNanResetAllocator:
Guangda Lai [Mon, 9 Apr 2018 21:15:41 +0000 (14:15 -0700)]
Fix GPUDebugAllocator and GPUNanResetAllocator:
1. Eliminate the checks when the pointer is nullptr.
2. Fix nan array size. Some application can produce a zero size which would
   cause out-of-range access error.

PiperOrigin-RevId: 192186224

6 years agoDoccumentation fix for LossSpec.
A. Unique TensorFlower [Mon, 9 Apr 2018 21:12:05 +0000 (14:12 -0700)]
Doccumentation fix for LossSpec.

PiperOrigin-RevId: 192185646

6 years agoFix bug in loop optimizer. Reuse existing constant nodes.
A. Unique TensorFlower [Mon, 9 Apr 2018 21:08:50 +0000 (14:08 -0700)]
Fix bug in loop optimizer. Reuse existing constant nodes.

PiperOrigin-RevId: 192185091

6 years agoAutomated g4 rollback of changelist 192160407
Akshay Modi [Mon, 9 Apr 2018 21:07:12 +0000 (14:07 -0700)]
Automated g4 rollback of changelist 192160407

PiperOrigin-RevId: 192184809

6 years agoAdds __repr__ method to HParams.
A. Unique TensorFlower [Mon, 9 Apr 2018 21:02:30 +0000 (14:02 -0700)]
Adds __repr__ method to HParams.

PiperOrigin-RevId: 192184000

6 years agoMake node and registration getter const.
Shashi Shekhar [Mon, 9 Apr 2018 20:57:12 +0000 (13:57 -0700)]
Make node and registration getter const.

PiperOrigin-RevId: 192183067

6 years agoAdd opcode for new instruction that broadcasts degenerate dimensions.
Dimitris Vardoulakis [Mon, 9 Apr 2018 20:42:35 +0000 (13:42 -0700)]
Add opcode for new instruction that broadcasts degenerate dimensions.
Implicit broadcasts can be translated to the new instruction instead of a reshape-and-broadcast.
Follow-up CLs will add support in UserComputation and the various backends.

PiperOrigin-RevId: 192180356

6 years agoAdd a utility that can detect the class that defined a method. This is useful when...
A. Unique TensorFlower [Mon, 9 Apr 2018 20:24:03 +0000 (13:24 -0700)]
Add a utility that can detect the class that defined a method. This is useful when converting a e.g. a custom Keras model, to avoid recompiling the base model methods.

PiperOrigin-RevId: 192177117

6 years agoAdds a within_ops_fn parameter to get_forward_walk_ops and get_backward_walk_ops
A. Unique TensorFlower [Mon, 9 Apr 2018 20:21:34 +0000 (13:21 -0700)]
Adds a within_ops_fn parameter to get_forward_walk_ops and get_backward_walk_ops
that allows setting a condition on ops that are within or not within.

Also adds tests for these methods that were missing.

PiperOrigin-RevId: 192176693

6 years agoImplement DFS using a loop instead of recursion to avoid stack overflow.
A. Unique TensorFlower [Mon, 9 Apr 2018 19:41:03 +0000 (12:41 -0700)]
Implement DFS using a loop instead of recursion to avoid stack overflow.

PiperOrigin-RevId: 192169242

6 years agoRenames exported signature names in MultiHead so head_name comes first.
A. Unique TensorFlower [Mon, 9 Apr 2018 19:37:33 +0000 (12:37 -0700)]
Renames exported signature names in MultiHead so head_name comes first.

PiperOrigin-RevId: 192168628

6 years agoProvide a hint about the number of iterations to while_loop in the case of for loops...
A. Unique TensorFlower [Mon, 9 Apr 2018 19:22:37 +0000 (12:22 -0700)]
Provide a hint about the number of iterations to while_loop in the case of for loops over tensors of known size. This allows using this type of for loops on TPU.

PiperOrigin-RevId: 192166460

6 years agoOnly set session in model_to_estimator if _SESSION has not been set.
Yifei Feng [Mon, 9 Apr 2018 19:09:34 +0000 (12:09 -0700)]
Only set session in model_to_estimator if _SESSION has not been set.
Fix #18193.

PiperOrigin-RevId: 192164669

6 years agoInternal fix.
A. Unique TensorFlower [Mon, 9 Apr 2018 19:02:38 +0000 (12:02 -0700)]
Internal fix.

PiperOrigin-RevId: 192163466

6 years agoAutomated g4 rollback of changelist 186518037
Ayush Dubey [Mon, 9 Apr 2018 18:51:38 +0000 (11:51 -0700)]
Automated g4 rollback of changelist 186518037

PiperOrigin-RevId: 192161449

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:46:26 +0000 (11:46 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 192160587

6 years agoAllow creating tensors from numpy arrays, and other various constants.
Akshay Modi [Mon, 9 Apr 2018 18:45:13 +0000 (11:45 -0700)]
Allow creating tensors from numpy arrays, and other various constants.

Allow type-inference from a different input tensor, similar to args_to_matching_eager.

- Update TFE_Py_TensorShapeSlice to take tuples.
- Update int values to allow int/long in py2

PiperOrigin-RevId: 192160407

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:19:41 +0000 (11:19 -0700)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 192155883

6 years agoDocumentation fix.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:16:17 +0000 (11:16 -0700)]
Documentation fix.

PiperOrigin-RevId: 192155305

6 years agoRegister tf.concat with uint8 data type.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:14:25 +0000 (11:14 -0700)]
Register tf.concat with uint8 data type.

PiperOrigin-RevId: 192154998

6 years agoAdds support for tf.HParams to TPUEstimator.
A. Unique TensorFlower [Mon, 9 Apr 2018 18:11:10 +0000 (11:11 -0700)]
Adds support for tf.HParams to TPUEstimator.

PiperOrigin-RevId: 192154504

6 years agoAdds complex64/128 Fill kernel registrations for GPU.
Brian Patton [Mon, 9 Apr 2018 18:08:08 +0000 (11:08 -0700)]
Adds complex64/128 Fill kernel registrations for GPU.

PiperOrigin-RevId: 192153935

6 years agoRewrite a fast GEMV path for two goals:
A. Unique TensorFlower [Mon, 9 Apr 2018 17:59:46 +0000 (10:59 -0700)]
Rewrite a fast GEMV path for two goals:
1. Avoid cache aliasing issues on CPUs with 4-way set associative L1 cache.
   That includes Cortex-A53.
2. Be a good basis to port to assembly.

PiperOrigin-RevId: 192152277

6 years agoCollective Ops Part 2
A. Unique TensorFlower [Mon, 9 Apr 2018 17:56:29 +0000 (10:56 -0700)]
Collective Ops Part 2

Kernel/Op defs for reduction and broadcast.

Note that kernels just set up CollectiveParams and don't
define detailed algorithms.

This change is part of a series of changes introducing infrastructure
for collective ops and initial implementations of reduction and broadcast.

PiperOrigin-RevId: 192151715

6 years agoAdd `scope` parameter in experimental Quantization API.
Yu-Cheng Ling [Mon, 9 Apr 2018 17:48:10 +0000 (10:48 -0700)]
Add `scope` parameter in experimental Quantization API.

This enables quantizing subgraphs of the entire graph. It's useful for networks
like Inception since we don't want to quantize the AuxLogits scope.

PiperOrigin-RevId: 192150416

6 years agoReplaced calls to deprecated tensorflow::StringPiece methods with their
A. Unique TensorFlower [Mon, 9 Apr 2018 17:46:59 +0000 (10:46 -0700)]
Replaced calls to deprecated tensorflow::StringPiece methods with their
tensorflow::str_util equivalents.

This will allow the deprecated methods to be removed.

PiperOrigin-RevId: 192150230

6 years agoInternal Change.
A. Unique TensorFlower [Mon, 9 Apr 2018 17:42:45 +0000 (10:42 -0700)]
Internal Change.

PiperOrigin-RevId: 192149558

6 years agoAdd validation for output_index of Feed.id.
A. Unique TensorFlower [Mon, 9 Apr 2018 17:38:58 +0000 (10:38 -0700)]
Add validation for output_index of Feed.id.
Return error instead of crash if output_index is not less than the output number of the operation.

PiperOrigin-RevId: 192148911

6 years agoMinimize broadcasts by rewriting a sub-tree of binary associative ops (Add, Mul).
A. Unique TensorFlower [Mon, 9 Apr 2018 17:13:28 +0000 (10:13 -0700)]
Minimize broadcasts by rewriting a sub-tree of binary associative ops (Add, Mul).

PiperOrigin-RevId: 192145052

6 years agoSmall reorganization of core/BUILD
A. Unique TensorFlower [Mon, 9 Apr 2018 16:58:33 +0000 (09:58 -0700)]
Small reorganization of core/BUILD

PiperOrigin-RevId: 192142333

6 years agoInitial Python API for specifying outside_compilation blocks that call out from a...
A. Unique TensorFlower [Mon, 9 Apr 2018 16:11:01 +0000 (09:11 -0700)]
Initial Python API for specifying outside_compilation blocks that call out from a TPU computation.

For now outside_compilation cannot occur inside any compiled control flow (while loop or conditional). If the computation is replicated, the outside_compilation ops are also replicated. Both of these restrictions will be lifted in followup CLs.

PiperOrigin-RevId: 192135901

6 years agoAdding support for the standalone log operator. Basic import/export only, No run...
A. Unique TensorFlower [Mon, 9 Apr 2018 16:10:31 +0000 (09:10 -0700)]
Adding support for the standalone log operator. Basic import/export only, No run time support.

PiperOrigin-RevId: 192135843

6 years agoBegin switching to use Kokoro build badges on TF GitHub README.md.
Michael Case [Mon, 9 Apr 2018 15:24:38 +0000 (08:24 -0700)]
Begin switching to use Kokoro build badges on TF GitHub README.md.

Moving away from Jenkins builds. Would like to switch to use build badges
for the equivalent builds we have set up on Kokoro.

PiperOrigin-RevId: 192130083

6 years agoPass allow_custom_ops to toco from the python api.
A. Unique TensorFlower [Mon, 9 Apr 2018 14:37:51 +0000 (07:37 -0700)]
Pass allow_custom_ops to toco from the python api.

PiperOrigin-RevId: 192125160

6 years agoSuppress -Wself-assign in self-assignment tests, which triggers in newer clang revisions.
A. Unique TensorFlower [Mon, 9 Apr 2018 14:21:54 +0000 (07:21 -0700)]
Suppress -Wself-assign in self-assignment tests, which triggers in newer clang revisions.

PiperOrigin-RevId: 192123736