platform/upstream/tensorflow.git
7 years agoAdopt Eigen::DenseIndex in lieu of int64 for a few variables (to appease compiler...
A. Unique TensorFlower [Wed, 28 Feb 2018 03:09:38 +0000 (19:09 -0800)]
Adopt Eigen::DenseIndex in lieu of int64 for a few variables (to appease compiler warnings/errors).

PiperOrigin-RevId: 187268113

7 years ago Add fields to TfOpStats to store step-related information of some host operations...
A. Unique TensorFlower [Wed, 28 Feb 2018 02:01:13 +0000 (18:01 -0800)]
 Add fields to TfOpStats to store step-related information of some host operations. Also include the starting time of a device step in StepInfoResult.

PiperOrigin-RevId: 187262025

7 years agoAdd unit tests for context propagation in ThreadPool and a benchmark for ParallelFor.
Jonathan Hseu [Wed, 28 Feb 2018 01:32:27 +0000 (17:32 -0800)]
Add unit tests for context propagation in ThreadPool and a benchmark for ParallelFor.

PiperOrigin-RevId: 187259233

7 years agoChanged back to Shard for SplitV to get better performance.
A. Unique TensorFlower [Wed, 28 Feb 2018 01:13:19 +0000 (17:13 -0800)]
Changed back to Shard for SplitV to get better performance.

PiperOrigin-RevId: 187257148

7 years agoMove security.md into the right place.
Martin Wicke [Wed, 28 Feb 2018 01:02:47 +0000 (17:02 -0800)]
Move security.md into the right place.

PiperOrigin-RevId: 187255784

7 years ago[XLA] Remove an unused function with a typo in its name.
Michael Kuperstein [Wed, 28 Feb 2018 00:41:38 +0000 (16:41 -0800)]
[XLA] Remove an unused function with a typo in its name.

PiperOrigin-RevId: 187252967

7 years agoBump the version of CUB in cmake build.
Gunhan Gulsoy [Tue, 27 Feb 2018 23:41:18 +0000 (15:41 -0800)]
Bump the version of CUB in cmake build.

PiperOrigin-RevId: 187244251

7 years agotf.contrib.data.bucket_by_sequence_length for variable length inputs
A. Unique TensorFlower [Tue, 27 Feb 2018 23:39:58 +0000 (15:39 -0800)]
tf.contrib.data.bucket_by_sequence_length for variable length inputs

PiperOrigin-RevId: 187244061

7 years agoMake RecentRequestIds more efficient.
Jeremy Lau [Tue, 27 Feb 2018 23:32:16 +0000 (15:32 -0800)]
Make RecentRequestIds more efficient.

PiperOrigin-RevId: 187242940

7 years agoImplement support for unpartitioning tf.nn.embedding_lookup into a single gather.
A. Unique TensorFlower [Tue, 27 Feb 2018 23:19:47 +0000 (15:19 -0800)]
Implement support for unpartitioning tf.nn.embedding_lookup into a single gather.

PiperOrigin-RevId: 187241089

7 years agoProperly handle inlining failures
Benoit Steiner [Tue, 27 Feb 2018 22:55:13 +0000 (14:55 -0800)]
Properly handle inlining failures

PiperOrigin-RevId: 187237044

7 years agoAdded a TFLite Java API to get last inference latency in nanoseconds.
A. Unique TensorFlower [Tue, 27 Feb 2018 22:37:14 +0000 (14:37 -0800)]
Added a TFLite Java API to get last inference latency in nanoseconds.

PiperOrigin-RevId: 187234119

7 years ago"soft placement" for eager
Alexandre Passos [Tue, 27 Feb 2018 22:32:57 +0000 (14:32 -0800)]
"soft placement" for eager

PiperOrigin-RevId: 187233434

7 years agoRenames sequential_feature_column to sequence_feature_column and adds pydoc.
A. Unique TensorFlower [Tue, 27 Feb 2018 21:49:03 +0000 (13:49 -0800)]
Renames sequential_feature_column to sequence_feature_column and adds pydoc.

PiperOrigin-RevId: 187226365

7 years agoAllow the Ftrl-proximal optimizer parameter 'initial_accumulator_value' to take zero...
A. Unique TensorFlower [Tue, 27 Feb 2018 21:38:24 +0000 (13:38 -0800)]
Allow the Ftrl-proximal optimizer parameter 'initial_accumulator_value' to take zero values.

PiperOrigin-RevId: 187224701

7 years agoOptimized non-aligned case of split and split_v on the first input dimension.
A. Unique TensorFlower [Tue, 27 Feb 2018 21:36:10 +0000 (13:36 -0800)]
Optimized non-aligned case of split and split_v on the first input dimension.

PiperOrigin-RevId: 187224344

7 years agoDuring late import, update model->flags from the input-arrays shape information that
A. Unique TensorFlower [Tue, 27 Feb 2018 21:22:58 +0000 (13:22 -0800)]
During late import, update model->flags from the input-arrays shape information that
was read from the graph (e.g. shape attribute in Placeholder nodes).

PiperOrigin-RevId: 187222358

7 years agoCheckpointable: Move the checkpoint-grouping utility out of the unit test file
Allen Lavoie [Tue, 27 Feb 2018 21:20:03 +0000 (13:20 -0800)]
Checkpointable: Move the checkpoint-grouping utility out of the unit test file

Renames Saver -> CheckpointableSaver in preparation for exposing the necessary
symbols in tf.contrib.eager.

There's a pending change for Optimizers, and Asim is handling Layers/Model. Once
those are checked in, we should be able to save/restore everything in the eager
examples (or at least the mnist one...). Still plenty more to make
Checkpointable, but it should be usable at that point.

PiperOrigin-RevId: 187221803

7 years agoMake Layers Checkpointable
Allen Lavoie [Tue, 27 Feb 2018 20:34:17 +0000 (12:34 -0800)]
Make Layers Checkpointable

(This change is mostly API goldens by volume)

Layers will inherit from CheckpointableBase since they do variable management
themselves. A __setattr__ override would also likely slow down functional layers
significantly.

I believe the plan for Model is to piggyback on its existing __setattr__
override rather than having Model inherit from CheckpointableBase through Layer
and Checkpointable itself.

PiperOrigin-RevId: 187215512

7 years agoAllow eager metrics to save internal variables by using global_variables.
Sergio Guadarrama [Tue, 27 Feb 2018 20:12:32 +0000 (12:12 -0800)]
Allow eager metrics to save internal variables by using global_variables.

PiperOrigin-RevId: 187212528

7 years agoRegister the function optimizer in the meta optimizer. Made sure it's turned OFF...
Benoit Steiner [Tue, 27 Feb 2018 20:08:24 +0000 (12:08 -0800)]
Register the function optimizer in the meta optimizer. Made sure it's turned OFF by default until more validation is done.

PiperOrigin-RevId: 187211957

7 years agoAdd consistency check: for constant arrays (those that have a buffer),
A. Unique TensorFlower [Tue, 27 Feb 2018 20:06:33 +0000 (12:06 -0800)]
Add consistency check: for constant arrays (those that have a buffer),
there must be a shape, and its flat-size must equal the buffer length.

PiperOrigin-RevId: 187211685

7 years agoUse a couple of type aliases for brevity; NFC
Sanjoy Das [Tue, 27 Feb 2018 20:05:41 +0000 (12:05 -0800)]
Use a couple of type aliases for brevity; NFC

PiperOrigin-RevId: 187211560

7 years agoImprove our handling of bitcasts.
Sanjoy Das [Tue, 27 Feb 2018 19:57:09 +0000 (11:57 -0800)]
Improve our handling of bitcasts.

 - Do not fuse bitcasts in the CPU backend.  Fused instructions lose their
   layout and a bitcast is meaningless without a layout.  We were explicitly
   testing for this so I've changed the corresponding tests to use a reshape
   instead.
 - Fail the layout assignment if we see a bitcast.  bitcasts are inherently
   layout sensitive and so a bitcast instruction present in the IR before layout
   assignment is a bug.

PiperOrigin-RevId: 187210151

7 years ago[TF:XLA] Bump open source llvm revision to r326181
Sanjoy Das [Tue, 27 Feb 2018 19:48:25 +0000 (11:48 -0800)]
[TF:XLA] Bump open source llvm revision to r326181

PiperOrigin-RevId: 187208788

7 years agoDon't crash on missing inputs in dependency analyzer. This is a temporary mitigation...
A. Unique TensorFlower [Tue, 27 Feb 2018 19:40:05 +0000 (11:40 -0800)]
Don't crash on missing inputs in dependency analyzer. This is a temporary mitigation until the underlying bug is found.

PiperOrigin-RevId: 187207594

7 years agoFunction optimization: added an optimizer to automatically inline functions in order...
Benoit Steiner [Tue, 27 Feb 2018 19:01:10 +0000 (11:01 -0800)]
Function optimization: added an optimizer to automatically inline functions in order to  enable Grappler to optimize the body of functions. Inlining also reduces the overhead of  evaluating function.

PiperOrigin-RevId: 187200883

7 years agoAdd 8bit Tanh support to tflite
A. Unique TensorFlower [Tue, 27 Feb 2018 18:49:41 +0000 (10:49 -0800)]
Add 8bit Tanh support to tflite

Allow output datatypes for custom ops to be more than the output types used in the graph. When an op has multiple outputs, some of them not used will be optimized away. This results in a failure. The change in propagate_array_data_types.cc fix this.

PiperOrigin-RevId: 187198815

7 years ago[TF CriticalSection] Bugfix: deref the Mutex before calling done_()
Eugene Brevdo [Tue, 27 Feb 2018 18:30:41 +0000 (10:30 -0800)]
[TF CriticalSection] Bugfix: deref the Mutex before calling done_()

This avoids an error wherein the Mutex destructor is called from the same thread
as its threadpool, thus leading to a pthread 35 error.

If the mutex is dereferenced before done_ is called, then the destruction is
delayed until after done_() is called, and this happens in a different thread
from the threadpool.

PiperOrigin-RevId: 187195628

7 years agoMake block-based pruning more general, allowing it to operate on higher-dimensional...
A. Unique TensorFlower [Tue, 27 Feb 2018 18:27:28 +0000 (10:27 -0800)]
Make block-based pruning more general, allowing it to operate on higher-dimensional arrays that can be squeezed to 2-dimensional.

PiperOrigin-RevId: 187195105

7 years agoLint fixes.
Martin Wicke [Tue, 27 Feb 2018 18:25:17 +0000 (10:25 -0800)]
Lint fixes.

PiperOrigin-RevId: 187194778

7 years agoImplement partial constant folding of AddN and AccumulateNV2.
A. Unique TensorFlower [Tue, 27 Feb 2018 18:05:38 +0000 (10:05 -0800)]
Implement partial constant folding of AddN and AccumulateNV2.
Change AccumulateNV2 to AddN if all inputs are constant, since constant folding doesn't work for the fake node type.

PiperOrigin-RevId: 187191772

7 years agoMake crosstools ready for introduction of c++-link-nodeps-dynamic-library
A. Unique TensorFlower [Tue, 27 Feb 2018 18:05:22 +0000 (10:05 -0800)]
Make crosstools ready for introduction of c++-link-nodeps-dynamic-library

PiperOrigin-RevId: 187191730

7 years agoUses the new automatic control dependencies code for functions.
Alexandre Passos [Tue, 27 Feb 2018 17:52:00 +0000 (09:52 -0800)]
Uses the new automatic control dependencies code for functions.

PiperOrigin-RevId: 187189552

7 years agoTensorflow: adds additional debugging info to feed_dict failure condition.
A. Unique TensorFlower [Tue, 27 Feb 2018 16:29:52 +0000 (08:29 -0800)]
Tensorflow: adds additional debugging info to feed_dict failure condition.

If you have a large feed dict, determining the type of each object can be difficult, and this additional debugging info helped me in such a case.

PiperOrigin-RevId: 187179551

7 years agoEnable dynamic function calls. These are compiled just in time by inserting a call...
A. Unique TensorFlower [Tue, 27 Feb 2018 14:00:21 +0000 (06:00 -0800)]
Enable dynamic function calls. These are compiled just in time by inserting a call to compile.

PiperOrigin-RevId: 187165096

7 years agoAdd documentation to Grappler RewriterConfig to give a short description for each
A. Unique TensorFlower [Tue, 27 Feb 2018 09:02:36 +0000 (01:02 -0800)]
Add documentation to Grappler RewriterConfig to give a short description for each
of the optimizer on what they do.

PiperOrigin-RevId: 187143156

7 years agoImprove error handling in strided_slice_op to fail more gracefully and return an...
A. Unique TensorFlower [Tue, 27 Feb 2018 05:25:22 +0000 (21:25 -0800)]
Improve error handling in strided_slice_op to fail more gracefully and return an error status instead of crashing.

PiperOrigin-RevId: 187126888

7 years agoAutomated g4 rollback of changelist 187092622
A. Unique TensorFlower [Tue, 27 Feb 2018 05:09:30 +0000 (21:09 -0800)]
Automated g4 rollback of changelist 187092622

PiperOrigin-RevId: 187125995

7 years agoAdd helpers to stream data from the GCE VM to a Cloud TPU.
Brennan Saeta [Tue, 27 Feb 2018 04:21:07 +0000 (20:21 -0800)]
Add helpers to stream data from the GCE VM to a Cloud TPU.

PiperOrigin-RevId: 187122870

7 years agoFix bug in deserializing CondContexts.
Skye Wanderman-Milne [Tue, 27 Feb 2018 03:58:18 +0000 (19:58 -0800)]
Fix bug in deserializing CondContexts.

PiperOrigin-RevId: 187121244

7 years agoFixes and simplification in the Keras training engine.
Francois Chollet [Tue, 27 Feb 2018 03:57:42 +0000 (19:57 -0800)]
Fixes and simplification in the Keras training engine.
- Explicitly disallow sample/class weighting in eager (it was never supported)
- Remove tests for it (which were actually ignoring sample/class weights)
- Make sample weight placeholders placeholder_with_default, and do not create all-ones numpy arrays to feed them when no sample weights are provided (this might lead to better performance)

PiperOrigin-RevId: 187121215

7 years agoMake sure rounding and handling of denormals in Grappler is the same as in TensorFlow.
A. Unique TensorFlower [Tue, 27 Feb 2018 03:46:27 +0000 (19:46 -0800)]
Make sure rounding and handling of denormals in Grappler is the same as in TensorFlow.
Enable constant folding for more types, particularly on GPUs.

PiperOrigin-RevId: 187120456

7 years agoRemove old implementation of the adaptive shared batcher, the in flight batches imple...
A. Unique TensorFlower [Tue, 27 Feb 2018 02:05:59 +0000 (18:05 -0800)]
Remove old implementation of the adaptive shared batcher, the in flight batches implemntation delivers similar performance but is simpler and requires less tuning.

PiperOrigin-RevId: 187111685

7 years agoModify retrain script to output TFLite compatible quantized models.
Suharsh Sivakumar [Tue, 27 Feb 2018 02:04:55 +0000 (18:04 -0800)]
Modify retrain script to output TFLite compatible quantized models.

-Also fix flaky input name selection introduced by last PR.
-Also rely on tf.contrib.quantize to do graph transformations.
-Also, update retrain script to use new float mobilenet_v1 and quantized mobilenet_v1 models.

PiperOrigin-RevId: 187111533

7 years agoSupport configurable stats publishers in the grpc server.
Brennan Saeta [Tue, 27 Feb 2018 01:56:15 +0000 (17:56 -0800)]
Support configurable stats publishers in the grpc server.

PiperOrigin-RevId: 187110497

7 years ago[XLA::Interpreter] Add support for kConditional to HloEvaluator. Also enable
Kay Zhu [Tue, 27 Feb 2018 01:55:31 +0000 (17:55 -0800)]
[XLA::Interpreter] Add support for kConditional to HloEvaluator. Also enable
xla/tests/conditional_tests to run on interpreter.

PiperOrigin-RevId: 187110438

7 years agoFix buffer assignment for conditional instruction.
A. Unique TensorFlower [Tue, 27 Feb 2018 01:27:20 +0000 (17:27 -0800)]
Fix buffer assignment for conditional instruction.

PiperOrigin-RevId: 187107432

7 years agoConsolidate the builtin function overrides into a single module, and use a generic...
A. Unique TensorFlower [Tue, 27 Feb 2018 01:04:09 +0000 (17:04 -0800)]
Consolidate the builtin function overrides into a single module, and use a generic `dynamic_builtin` function to dispatch between implementations. Use the generic dispatcher in the generated code.

PiperOrigin-RevId: 187104685

7 years agoOnly link the swapping code when compiling TensorFlow with CUDA support.
Benoit Steiner [Tue, 27 Feb 2018 01:01:24 +0000 (17:01 -0800)]
Only link the swapping code when compiling TensorFlow with CUDA support.

PiperOrigin-RevId: 187104273

7 years ago[XLA] In HloEvaluator, fix an issue for HandleAbs to handle complex numbers
Kay Zhu [Tue, 27 Feb 2018 00:24:54 +0000 (16:24 -0800)]
[XLA] In HloEvaluator, fix an issue for HandleAbs to handle complex numbers
more correctly:

- abs([complex numbers]) would yield floats. However since the specilization for
HandleAbs is based on the return type (float), we'd CHECK fail due to float !=
complex when accessing the elements of the operand (complex).
- enable unary_op_test for interpreter.

PiperOrigin-RevId: 187099576

7 years agoDeprecate tf.contrib.learn.
Martin Wicke [Tue, 27 Feb 2018 00:23:46 +0000 (16:23 -0800)]
Deprecate tf.contrib.learn.

RELNOTES: Deprecated tf.contrib.learn. Please check contrib/learn/README.md for instructions on how to convert existing code.
PiperOrigin-RevId: 187099439

7 years ago[XLA] Add more supported dtypes to the local Python client.
A. Unique TensorFlower [Tue, 27 Feb 2018 00:01:04 +0000 (16:01 -0800)]
[XLA] Add more supported dtypes to the local Python client.

PiperOrigin-RevId: 187096144

7 years ago[XLA] Fix #17090 a problem in IrArray::Index::SourceIndexOfTranspose.
Bixia Zheng [Mon, 26 Feb 2018 23:42:52 +0000 (15:42 -0800)]
[XLA] Fix #17090 a problem in IrArray::Index::SourceIndexOfTranspose.

Agebraic simplification transforms bitcast-equivalent transpose/reshape
instructions to bitcast instructions before IR emission. As such, we should
skip the checking on whether a transpose/reshape instruction is
bitcast-equivalent or not during IR emission. Remove the call from
IrArray::Index::SourceIndexOfTranspose to ShapeUtil::TransposeIsBitcast. Also
remove the call from IrArray::Index::SourceIndexOfReshape to
ShapeUtil::ReshapeIsBitcast.

Remove the calls to ShapeUtil::TransposeIsBitcast and
ShapeUtil::ReshapeIsBitcast from NotWorthHoistingIndividually
because layout assignment hasn't been done there yet. Instead, returns true
when the input is a transpose or reshape instruction, to prevent it from
being hoisted out of loops.

Add a check to ShapeUtil::TransposeIsBitcast and ShapeUtil::ReshapeIsBitcast
to make sure that both input shape and output shape have layouts.

Add two test cases.

PiperOrigin-RevId: 187093399

7 years agoUses a thread pool for graph functions in eager mode with inter_op_parallelism_threads.
Alexandre Passos [Mon, 26 Feb 2018 23:37:40 +0000 (15:37 -0800)]
Uses a thread pool for graph functions in eager mode with inter_op_parallelism_threads.

PiperOrigin-RevId: 187092622

7 years ago[XLA::Interpreter] Add support for kCall to HloEvaluator. Also enable
Kay Zhu [Mon, 26 Feb 2018 23:37:27 +0000 (15:37 -0800)]
[XLA::Interpreter] Add support for kCall to HloEvaluator. Also enable
xla/tests/call_test to run on interpreter.

PiperOrigin-RevId: 187092587

7 years agoEnable de/serialization of nested control flow.
Skye Wanderman-Milne [Mon, 26 Feb 2018 22:38:31 +0000 (14:38 -0800)]
Enable de/serialization of nested control flow.

This is a follow-up to the previous commit
(https://github.com/tensorflow/tensorflow/commit/23851760b7b099214bdd4f1b88156d7ac2bdd2a2).
It adds the new proto schemas, enables the behavior for reading and
writing the new protos, and adds a test for de/serializing nested
while loops.

There's still a bug preventing deserializing conds, which will be addressed
in another change.

PiperOrigin-RevId: 187082713

7 years agoTrack DebugOptions in AotCompilationOptions
Sanjoy Das [Mon, 26 Feb 2018 22:32:08 +0000 (14:32 -0800)]
Track DebugOptions in AotCompilationOptions

In particular, I need this for supporting HLO profiling in the AOT backend.

PiperOrigin-RevId: 187081674

7 years ago[TF:XLA] Bump open source llvm revision to r326083
Sanjoy Das [Mon, 26 Feb 2018 22:31:29 +0000 (14:31 -0800)]
[TF:XLA] Bump open source llvm revision to r326083

PiperOrigin-RevId: 187081592

7 years agoAdd a function that allows to dynamically verify whether a function is white listed...
A. Unique TensorFlower [Mon, 26 Feb 2018 22:25:37 +0000 (14:25 -0800)]
Add a function that allows to dynamically verify whether a function is white listed for graph mode.

PiperOrigin-RevId: 187080654

7 years ago1st version of sequential feature columns.
A. Unique TensorFlower [Mon, 26 Feb 2018 22:25:30 +0000 (14:25 -0800)]
1st version of sequential feature columns.

PiperOrigin-RevId: 187080635

7 years ago[XLA] GTE of a certain element of the tuple does not need not keep other elements...
Michael Kuperstein [Mon, 26 Feb 2018 22:19:56 +0000 (14:19 -0800)]
[XLA] GTE of a certain element of the tuple does not need not keep other elements alive.

This achieves two things:
1. Heap simulation runtime is no longer quadratic in the number of tuple elements (as we don't add each GetTupleElement to the liveset of each buffer defined by the tuple).
2. A reduction in the heap memory footprint.

PiperOrigin-RevId: 187079787

7 years agoAdding documentation for dataset/iterator checkpointing.
Shivani Agrawal [Mon, 26 Feb 2018 22:11:08 +0000 (14:11 -0800)]
Adding documentation for dataset/iterator checkpointing.

PiperOrigin-RevId: 187078347

7 years agoTFTS: Switch to using core feature columns
Allen Lavoie [Mon, 26 Feb 2018 22:00:07 +0000 (14:00 -0800)]
TFTS: Switch to using core feature columns

This fixes some shape issues that came up when using the tf.contrib.layers
parsing functions.

Adds a string -> embedding column API example to the LSTM example.

PiperOrigin-RevId: 187076400

7 years agoUpdate eager uniform replay buffer microbenchmarks to compare against graph functions...
Akshay Agrawal [Mon, 26 Feb 2018 21:54:02 +0000 (13:54 -0800)]
Update eager uniform replay buffer microbenchmarks to compare against graph functions when possible.

PiperOrigin-RevId: 187075418

7 years agoInclude c_api_experimental in libtensorflow.so's dependencies.
Richard Wei [Mon, 26 Feb 2018 21:06:59 +0000 (13:06 -0800)]
Include c_api_experimental in libtensorflow.so's dependencies.

PiperOrigin-RevId: 187068103

7 years agoMaintain a cache of output dtypes of ops in TFE_Context.
A. Unique TensorFlower [Mon, 26 Feb 2018 20:33:17 +0000 (12:33 -0800)]
Maintain a cache of output dtypes of ops in TFE_Context.

PiperOrigin-RevId: 187062992

7 years agoInternal change.
Jeremy Lau [Mon, 26 Feb 2018 20:23:36 +0000 (12:23 -0800)]
Internal change.

PiperOrigin-RevId: 187061863

7 years agoFix bug calling gradients_function inside custom_gradient
Alexandre Passos [Mon, 26 Feb 2018 20:10:01 +0000 (12:10 -0800)]
Fix bug calling gradients_function inside custom_gradient

PiperOrigin-RevId: 187059871

7 years agoUse optimized ops to handle GPU memory swapping: this avoids the need for 2
Benoit Steiner [Mon, 26 Feb 2018 19:57:30 +0000 (11:57 -0800)]
Use optimized ops to handle GPU memory swapping: this avoids the need for 2
pairs of extra _send/_recv nodes which speeds things up a bit. This also
ensures that performance doesn't depend on the recv scheduling built in TF,
which isn't always optimal.

PiperOrigin-RevId: 187057831

7 years agoInternal change.
Anna R [Mon, 26 Feb 2018 19:52:26 +0000 (11:52 -0800)]
Internal change.

PiperOrigin-RevId: 187056963

7 years agoAdd the internal module name prefix to the white list.
A. Unique TensorFlower [Mon, 26 Feb 2018 19:50:49 +0000 (11:50 -0800)]
Add the internal module name prefix to the white list.

PiperOrigin-RevId: 187056701

7 years agoActually expose smart_cond and smart_constant_value in tf.contrib.framework
Skye Wanderman-Milne [Mon, 26 Feb 2018 19:43:14 +0000 (11:43 -0800)]
Actually expose smart_cond and smart_constant_value in tf.contrib.framework

Also moves these methods into their own file in python/framework. This avoids further bloating control_flow_ops.py and makes the BUILD deps easier for a future change I'm working on.

PiperOrigin-RevId: 187055501

7 years agoTFLite: Ensures pointers to tensors won't be invalidated unless 16+ tensors are added.
Yu-Cheng Ling [Mon, 26 Feb 2018 19:22:43 +0000 (11:22 -0800)]
TFLite: Ensures pointers to tensors won't be invalidated unless 16+ tensors are added.
PiperOrigin-RevId: 187052100

7 years agoAdded const to Node* in various parts of the code base.
Mingsheng Hong [Mon, 26 Feb 2018 19:13:09 +0000 (11:13 -0800)]
Added const to Node* in various parts of the code base.

PiperOrigin-RevId: 187050526

7 years agoAdd support for parsing the "gather" HLO
Sanjoy Das [Mon, 26 Feb 2018 19:12:04 +0000 (11:12 -0800)]
Add support for parsing the "gather" HLO

PiperOrigin-RevId: 187050345

7 years agoeager/examples/resnet50: Fix breakage.
Asim Shankar [Mon, 26 Feb 2018 19:10:20 +0000 (11:10 -0800)]
eager/examples/resnet50: Fix breakage.

PiperOrigin-RevId: 187050075

7 years agoBring in `isbuiltin`.
A. Unique TensorFlower [Mon, 26 Feb 2018 19:08:54 +0000 (11:08 -0800)]
Bring in `isbuiltin`.

PiperOrigin-RevId: 187049824

7 years agoAutomated g4 rollback of changelist 185324160
Guangda Lai [Mon, 26 Feb 2018 18:59:54 +0000 (10:59 -0800)]
Automated g4 rollback of changelist 185324160

PiperOrigin-RevId: 187048135

7 years agoIntegrate ClusterResolvers with TPUEstimator.
Brennan Saeta [Mon, 26 Feb 2018 18:54:31 +0000 (10:54 -0800)]
Integrate ClusterResolvers with TPUEstimator.

PiperOrigin-RevId: 187047094

7 years ago[XLA] Do not recompute flattened sets inside layout assignment.
Michael Kuperstein [Mon, 26 Feb 2018 18:52:05 +0000 (10:52 -0800)]
[XLA] Do not recompute flattened sets inside layout assignment.

Cache the flattened sets instead of recomputing them. This matters for large graphs, since we may request the flattened set thousands of times on the same instruction, and it may be fairly expensive to construct for large tuples.

PiperOrigin-RevId: 187046642

7 years ago[XLA] Add kConvert to EffectiveOperandPrecisionIsOutputPrecision list.
Yuanzhong Xu [Mon, 26 Feb 2018 18:42:59 +0000 (10:42 -0800)]
[XLA] Add kConvert to EffectiveOperandPrecisionIsOutputPrecision list.

PiperOrigin-RevId: 187044921

7 years agoDeleting references to outdated `translate/seq2seq` tutorial.
Mark Daoust [Mon, 26 Feb 2018 18:41:44 +0000 (10:41 -0800)]
Deleting references to outdated `translate/seq2seq` tutorial.

PiperOrigin-RevId: 187044697

7 years agoMove accumulate_n_v2 to core.
Alexandre Passos [Mon, 26 Feb 2018 18:24:56 +0000 (10:24 -0800)]
Move accumulate_n_v2 to core.

PiperOrigin-RevId: 187042001

7 years agoArithemtic optimization: Rewite Sub(0, y) => Neg(y)
A. Unique TensorFlower [Mon, 26 Feb 2018 18:24:08 +0000 (10:24 -0800)]
Arithemtic optimization: Rewite Sub(0, y) => Neg(y)

PiperOrigin-RevId: 187041872

7 years agoGeneralize the gather_indices dimension that stores indices
Sanjoy Das [Mon, 26 Feb 2018 18:17:15 +0000 (10:17 -0800)]
Generalize the gather_indices dimension that stores indices

This is now exposed as a index_vector_dim dimension number.

Also fixed an off-by-one error in ValidateGatherDimensionNumbers in the
expression computing output_shape_rank.

PiperOrigin-RevId: 187040748

7 years agoFix pip install examples to match text: Use pip and point to Py2 packages
A. Unique TensorFlower [Mon, 26 Feb 2018 18:07:09 +0000 (10:07 -0800)]
Fix pip install examples to match text: Use pip and point to Py2 packages

PiperOrigin-RevId: 187038889

7 years agoFix print format error.
Rui Zhao [Mon, 26 Feb 2018 17:32:47 +0000 (09:32 -0800)]
Fix print format error.

PiperOrigin-RevId: 187033623

7 years ago[XLA:GPU] Fix HLO profiling when multiple streams are involved.
Justin Lebar [Mon, 26 Feb 2018 17:24:38 +0000 (09:24 -0800)]
[XLA:GPU] Fix HLO profiling when multiple streams are involved.

We were enqueueing the timer on the main stream, but not blocking the
substreams, so the results were nonsensical.

PiperOrigin-RevId: 187032412

7 years agoAdd __str__ method to _RefVariableProcessor.
A. Unique TensorFlower [Mon, 26 Feb 2018 16:58:48 +0000 (08:58 -0800)]
Add __str__ method to _RefVariableProcessor.

PiperOrigin-RevId: 187029027

7 years agoDrop the getcallargs extension as its logic had to be moved to a higher level into...
A. Unique TensorFlower [Mon, 26 Feb 2018 16:04:09 +0000 (08:04 -0800)]
Drop the getcallargs extension as its logic had to be moved to a higher level into api.py.

PiperOrigin-RevId: 187022717

7 years agoAnnotate attribute nodes with the value or type of their parent. This helps with...
A. Unique TensorFlower [Mon, 26 Feb 2018 15:21:08 +0000 (07:21 -0800)]
Annotate attribute nodes with the value or type of their parent. This helps with resolving function owners, since using reflection to do it is unreliable.

PiperOrigin-RevId: 187017742

7 years ago[XLA] Remove bitcast-converts between same shape.
Jacques Pienaar [Sun, 25 Feb 2018 10:55:29 +0000 (02:55 -0800)]
[XLA] Remove bitcast-converts between same shape.

PiperOrigin-RevId: 186929931

7 years agoRe-enables moving_average_optimizer_test. Resource variable bug fixed by apassos@
A. Unique TensorFlower [Sun, 25 Feb 2018 07:51:54 +0000 (23:51 -0800)]
Re-enables moving_average_optimizer_test. Resource variable bug fixed by apassos@

PiperOrigin-RevId: 186921623

7 years agoUse the new inspect_utils API to to get the function's namespace.
A. Unique TensorFlower [Sat, 24 Feb 2018 14:35:12 +0000 (06:35 -0800)]
Use the new inspect_utils API to to get the function's namespace.

PiperOrigin-RevId: 186884307

7 years agoExclude more tests for cuda_on_cpu.
Guangda Lai [Sat, 24 Feb 2018 02:18:15 +0000 (18:18 -0800)]
Exclude more tests for cuda_on_cpu.

PiperOrigin-RevId: 186851831

7 years agoRefactor Keras engine by splitting it into short, specialized files.
Francois Chollet [Sat, 24 Feb 2018 01:32:14 +0000 (17:32 -0800)]
Refactor Keras engine by splitting it into short, specialized files.
The purpose of this change is to make the codebase more maintainable and readable.

Before:
engine/topology.py
models.py

After:
engine/base_layer.py
engine/input_layer.py
engine/network.py
engine/sequential.py
engine/saving.py

This is a large change but it only moves code around with no change in logic or API.

New files are all under 1000 lines of logic (network.py is 1500 lines, but under 1000 if you remove imports and docstrings), and often under 500.

PiperOrigin-RevId: 186847895

7 years agoAdd another utility that captures a function's namespace as a mapping from symbol...
A. Unique TensorFlower [Sat, 24 Feb 2018 01:22:37 +0000 (17:22 -0800)]
Add another utility that captures a function's namespace as a mapping from symbol names to actual values.
Update getmethodclass with a hopefully more robust method.

PiperOrigin-RevId: 186847003

7 years agoDropped from previous change.
Alexandre Passos [Sat, 24 Feb 2018 01:19:00 +0000 (17:19 -0800)]
Dropped from previous change.

PiperOrigin-RevId: 186846681

7 years agoCheckpointable: compatibility mode with name-based saving
Allen Lavoie [Sat, 24 Feb 2018 00:59:01 +0000 (16:59 -0800)]
Checkpointable: compatibility mode with name-based saving

Allows loading a name-based checkpoint using the object-based API. When
graph building it's quite seamless. There's no restore-on-create for
eager, so it would require program changes to do much useful there (i.e.
is not seamless).

Adds several tests for checkpoint compatibility (name->object in eager/graph,
and eager->graph/graph->eager for object-based saving)

PiperOrigin-RevId: 186844431