platform/upstream/tensorflow.git
6 years agoMerge pull request #19164 from yifeif/branch_195897321
Yifei Feng [Wed, 9 May 2018 04:59:43 +0000 (21:59 -0700)]
Merge pull request #19164 from yifeif/branch_195897321

Branch 195897321

6 years agoMerge pull request #19165 from tensorflow/update_version_fix
Yifei Feng [Wed, 9 May 2018 01:24:40 +0000 (18:24 -0700)]
Merge pull request #19165 from tensorflow/update_version_fix

Switch to use str instead of number for colab_url

6 years agoSwitch to use str instead of number for colab_url
Yifei Feng [Wed, 9 May 2018 00:35:21 +0000 (17:35 -0700)]
Switch to use str instead of number for colab_url

Fix nightly failure:
  File "tensorflow/tools/ci_build/update_version.py", line 253, in colab_url
    version_string = "%d.%d.%d" % (version.major, version.minor, version.patch)
TypeError: %d format: a number is required, not str

6 years agoHardcode EndpointSpec deprecated input to False for now after cl/195718061.
Yifei Feng [Wed, 9 May 2018 00:16:45 +0000 (17:16 -0700)]
Hardcode EndpointSpec deprecated input to False for now after cl/195718061.

6 years agoMerge commit for internal changes
Yifei Feng [Wed, 9 May 2018 00:14:55 +0000 (17:14 -0700)]
Merge commit for internal changes

6 years agoMake eager functions runable on TPU
Igor Ganichev [Tue, 8 May 2018 23:43:54 +0000 (16:43 -0700)]
Make eager functions runable on TPU

PiperOrigin-RevId: 195897321

6 years agoSet size of tensorflow/python/keras:normalization_test to medium to avoid flaky timeouts
A. Unique TensorFlower [Tue, 8 May 2018 23:23:27 +0000 (16:23 -0700)]
Set size of tensorflow/python/keras:normalization_test to medium to avoid flaky timeouts

PiperOrigin-RevId: 195894737

6 years agoOnly use integer values for event_ndims.
A. Unique TensorFlower [Tue, 8 May 2018 23:20:02 +0000 (16:20 -0700)]
Only use integer values for event_ndims.

event_ndims have the semantics of being an integer. However, other code paths (such as const_value)
can return back numpy wrapped arrays, which can mess with how values are cached. Instead extract
everything as an integer.

PiperOrigin-RevId: 195894216

6 years agoadd test for pruning useless function lib in graph.
A. Unique TensorFlower [Tue, 8 May 2018 23:16:57 +0000 (16:16 -0700)]
add test for pruning useless function lib in graph.

PiperOrigin-RevId: 195893756

6 years agoAdd test to test suite.
A. Unique TensorFlower [Tue, 8 May 2018 22:43:34 +0000 (15:43 -0700)]
Add test to test suite.

PiperOrigin-RevId: 195888932

6 years agoIncrease shard count of tensorflow/contrib/learn:state_saving_rnn_estimator_test...
A. Unique TensorFlower [Tue, 8 May 2018 22:34:40 +0000 (15:34 -0700)]
Increase shard count of tensorflow/contrib/learn:state_saving_rnn_estimator_test to avoid flaky timeouts

PiperOrigin-RevId: 195887546

6 years agoIncrease size of tensorflow/contrib/distributions:batch_reshape_test to medium to...
A. Unique TensorFlower [Tue, 8 May 2018 22:33:37 +0000 (15:33 -0700)]
Increase size of tensorflow/contrib/distributions:batch_reshape_test to medium to avoid flaky timeouts

PiperOrigin-RevId: 195887374

6 years ago[tfgan] Allow to add custom eval metrics to GANEstimator (#19133)
Lukas Geiger [Tue, 8 May 2018 23:31:39 +0000 (01:31 +0200)]
[tfgan] Allow to add custom eval metrics to GANEstimator (#19133)

6 years ago[tftrt update] (#19135)
jjsjann123 [Tue, 8 May 2018 23:30:08 +0000 (16:30 -0700)]
[tftrt update] (#19135)

* [tftrt update]
  code cleaning, removed some boilerplate code

* addressing comments

6 years agoIncrease shard count of tensorflow/python/keras:lstm_test to avoid flaky timeouts
A. Unique TensorFlower [Tue, 8 May 2018 22:26:44 +0000 (15:26 -0700)]
Increase shard count of tensorflow/python/keras:lstm_test to avoid flaky timeouts

PiperOrigin-RevId: 195886372

6 years agoAdd missing ":haswell" match to list of platform selectors.
A. Unique TensorFlower [Tue, 8 May 2018 21:50:24 +0000 (14:50 -0700)]
Add missing ":haswell" match to list of platform selectors.

PiperOrigin-RevId: 195880275

6 years agoIncrease shard_count of tensorflow/python/estimator:estimator_test to avoid flaky...
A. Unique TensorFlower [Tue, 8 May 2018 21:45:01 +0000 (14:45 -0700)]
Increase shard_count of tensorflow/python/estimator:estimator_test to avoid flaky asan timeouts

PiperOrigin-RevId: 195879364

6 years agoDo not differentiage integers in the eager API.
Alexandre Passos [Tue, 8 May 2018 21:42:35 +0000 (14:42 -0700)]
Do not differentiage integers in the eager API.

This is similar to the change made in:
https://github.com/tensorflow/tensorflow/commit/f63750645826df65b05cad505546a86f0e347674
for backpropagation during graph construction via tf.gradients()

PiperOrigin-RevId: 195878952

6 years agoIncrease shard count of tensorflow/contrib/distributions:mixture_test to avoid flaky...
A. Unique TensorFlower [Tue, 8 May 2018 21:41:48 +0000 (14:41 -0700)]
Increase shard count of tensorflow/contrib/distributions:mixture_test to avoid flaky timeouts in asan mode

PiperOrigin-RevId: 195878809

6 years agoIncrease size of test tensorflow/contrib/layers:rev_block_lib_test to medium
A. Unique TensorFlower [Tue, 8 May 2018 21:00:48 +0000 (14:00 -0700)]
Increase size of test tensorflow/contrib/layers:rev_block_lib_test to medium
to avoid flaky timeouts.

PiperOrigin-RevId: 195871947

6 years agoAvoid string formatting in assert_same_float_dtype unless there's an error
Allen Lavoie [Tue, 8 May 2018 21:00:30 +0000 (14:00 -0700)]
Avoid string formatting in assert_same_float_dtype unless there's an error

Especially helpful when executing eagerly

PiperOrigin-RevId: 195871887

6 years agoBetter wrapping of stream executor's cuDNN API calls. Replacing mutex locking and...
A. Unique TensorFlower [Tue, 8 May 2018 19:10:36 +0000 (12:10 -0700)]
Better wrapping of stream executor's cuDNN API calls. Replacing mutex locking and setting the cuDNN stream followed by calling wrap::cudnn... with an RAII CudnnHandle object that handles the former two operations.

Distinguish three different API types:

A) APIs that don't take a cudnnHandle_t: These are thread-safe APIs that don't enqueue any CUDA work on a stream. They can be called directly without any extra precautions.

B) APIs that take a cudnnHandle_t and perform CUDA work. The CUDA context needs to be acquired and the stream needs to be set beforehand, calls need to be serialized. A CudnnHandle instance guarantees that this work has been performed before calling cuDNN.

C) APIs that do take a cudnnHandle_t, but (presumably, the API makes no guarantees) still don't perform any CUDA work. This is limited to the API to setup RNN descriptors. Calls need to be serialized, but most likely we wouldn't need to acquire the CUDA context or set the stream. We still do though using the legacy default stream, because there are no guarantees.

PiperOrigin-RevId: 195856300

6 years agoRemove outdated CUDA SDK string (the text is now consistent with other version choice...
A. Unique TensorFlower [Tue, 8 May 2018 19:04:38 +0000 (12:04 -0700)]
Remove outdated CUDA SDK string (the text is now consistent with other version choices, and the '9.0' format is already present in the default).

PiperOrigin-RevId: 195855416

6 years agoRe-land: Optimize dot(DynamicSlice(ConstA), ConstantB) by memoizing dot(ConstA, ConstB)
Alina Sbirlea [Tue, 8 May 2018 18:54:03 +0000 (11:54 -0700)]
Re-land: Optimize dot(DynamicSlice(ConstA), ConstantB) by memoizing dot(ConstA, ConstB)

Make transformation when ConstA and ConstB are 2D, and DynamicSlice is slicing a full row, column respectively.
Handle:
dot(DynamicSlice(Index, ConstA), ConstB) => DynamicSlice(Index, dot*(ConstA, ConstB));
and
dot(ConstA, DynamicSlice(Index, ConstB)) => DynamicSlice(Index, dot*(ConstA, ConstB));

Reason to roll forward: Previous issue of getting out of memory errors when generating LLVM constants was resolved by CSE-ing constants before allocation.

PiperOrigin-RevId: 195853680

6 years agoFix docstring for flush() method
A. Unique TensorFlower [Tue, 8 May 2018 18:45:53 +0000 (11:45 -0700)]
Fix docstring for flush() method

PiperOrigin-RevId: 195852402

6 years agoUpdate version of downloadable clang toolchain
Ilya Biryukov [Tue, 8 May 2018 18:25:50 +0000 (11:25 -0700)]
Update version of downloadable clang toolchain

PiperOrigin-RevId: 195849091

6 years agoChange visibility of hlo_proto.
A. Unique TensorFlower [Tue, 8 May 2018 18:19:46 +0000 (11:19 -0700)]
Change visibility of hlo_proto.

PiperOrigin-RevId: 195848035

6 years agoAdd affinity binding functionality and documentation to OVIC benchmarker.
A. Unique TensorFlower [Tue, 8 May 2018 18:15:53 +0000 (11:15 -0700)]
Add affinity binding functionality and documentation to OVIC benchmarker.

PiperOrigin-RevId: 195847378

6 years agoIncrease size of test //third_party/tensorflow/python:saver_large_variable_test
A. Unique TensorFlower [Tue, 8 May 2018 18:12:07 +0000 (11:12 -0700)]
Increase size of test //third_party/tensorflow/python:saver_large_variable_test
from "small" to "medium" to prevent flaky timeouts.

PiperOrigin-RevId: 195846802

6 years agoFix Raspberry Pi build by making PNG not try to use Neon (by autodetect).
Andrew Selle [Tue, 8 May 2018 18:10:23 +0000 (11:10 -0700)]
Fix Raspberry Pi build by making PNG not try to use Neon (by autodetect).

This involves patching to override the png neon option. In the future
it might be worth enabling PNG optimization.

PiperOrigin-RevId: 195846513

6 years agoWhen building functions, capture tensors in `internal_convert_to_tensor`.
Akshay Agrawal [Tue, 8 May 2018 18:07:45 +0000 (11:07 -0700)]
When building functions, capture tensors in `internal_convert_to_tensor`.

This change is motivated by the fact that, when eager execution is disabled, library functions assume that tensors returned from `internal_convert_to_tensor` are in fact `Tensor`s and not `EagerTensor`s.

PiperOrigin-RevId: 195846039

6 years agoAdd cost model of depthwiseConv2dNative. Tensorflow computes depthwise separable...
A. Unique TensorFlower [Tue, 8 May 2018 17:25:30 +0000 (10:25 -0700)]
Add cost model of depthwiseConv2dNative. Tensorflow computes depthwise separable convolutions as depthwiseConv2dNative followed by 1x1 Conv2D

PiperOrigin-RevId: 195838887

6 years agoFree ANeuralNetworksCompilation object in NNAPIDelegate destructor
A. Unique TensorFlower [Tue, 8 May 2018 16:46:45 +0000 (09:46 -0700)]
Free ANeuralNetworksCompilation object in NNAPIDelegate destructor

PiperOrigin-RevId: 195832807

6 years agoMinor formatting tweaks to distribute.py and simple_tfkeras_example.py
Shanqing Cai [Tue, 8 May 2018 16:04:17 +0000 (09:04 -0700)]
Minor formatting tweaks to distribute.py and simple_tfkeras_example.py

PiperOrigin-RevId: 195827029

6 years agoUpdate comment clarifying continuous eval behavior.
A. Unique TensorFlower [Tue, 8 May 2018 15:57:45 +0000 (08:57 -0700)]
Update comment clarifying continuous eval behavior.

PiperOrigin-RevId: 195826025

6 years ago[TF:XLA] Fix NaN in StatelessRandomNormal if the underlying uniform distribution...
Peter Hawkins [Tue, 8 May 2018 15:07:08 +0000 (08:07 -0700)]
[TF:XLA] Fix NaN in StatelessRandomNormal if the underlying uniform distribution returned -1.

PiperOrigin-RevId: 195819645

6 years agoAutomated g4 rollback of changelist 195723288
A. Unique TensorFlower [Tue, 8 May 2018 15:04:07 +0000 (08:04 -0700)]
Automated g4 rollback of changelist 195723288

PiperOrigin-RevId: 195819297

6 years agoAdd missing #include for OpResponse. This class currently happens to be forward
A. Unique TensorFlower [Tue, 8 May 2018 14:57:12 +0000 (07:57 -0700)]
Add missing #include for OpResponse. This class currently happens to be forward
declared by xla.proto.h, but that proto doesn't actually need this type
anywhere and we are working on removing such unneeded forward declarations.

PiperOrigin-RevId: 195818397

6 years agoProfileHandler: Remove unnecessary interface method.
Asim Shankar [Tue, 8 May 2018 14:28:43 +0000 (07:28 -0700)]
ProfileHandler: Remove unnecessary interface method.
PiperOrigin-RevId: 195815565

6 years agoFix a test expectation.
A. Unique TensorFlower [Tue, 8 May 2018 10:26:06 +0000 (03:26 -0700)]
Fix a test expectation.

PiperOrigin-RevId: 195796348

6 years agoAutomated g4 rollback of changelist 195748721
A. Unique TensorFlower [Tue, 8 May 2018 09:11:52 +0000 (02:11 -0700)]
Automated g4 rollback of changelist 195748721

PiperOrigin-RevId: 195790581

6 years agoTemporarily disable concat rewrite.
A. Unique TensorFlower [Tue, 8 May 2018 02:56:26 +0000 (19:56 -0700)]
Temporarily disable concat rewrite.

PiperOrigin-RevId: 195762860

6 years ago[tf.data] Move tensorflow::dataset::MakeIteratorContext to core/framework
Brennan Saeta [Tue, 8 May 2018 01:31:47 +0000 (18:31 -0700)]
[tf.data] Move tensorflow::dataset::MakeIteratorContext to core/framework

PiperOrigin-RevId: 195756342

6 years agoMerge pull request #19053 from wangsiyu/fix_tf_layers_reuse
Martin Wicke [Tue, 8 May 2018 19:38:56 +0000 (12:38 -0700)]
Merge pull request #19053 from wangsiyu/fix_tf_layers_reuse

Fix bug of declaring regularization loss multiple times when reusing PartitionedVariables in tf layers

6 years agoremove type
wangsiyu [Tue, 8 May 2018 07:50:36 +0000 (15:50 +0800)]
remove type

6 years agofix bug of return value in _should_add_regularizer function and refine code in base_t...
wangsiyu [Tue, 8 May 2018 07:46:38 +0000 (15:46 +0800)]
fix bug of return value in _should_add_regularizer function and refine code in base_test.py to make it no more than 80 columns

6 years agoeliminate result variable in _should_add_regularizer to make code clean
wangsiyu [Tue, 8 May 2018 04:58:27 +0000 (12:58 +0800)]
eliminate result variable in _should_add_regularizer to make code clean

6 years agorefine unit test case coding style and move _should_add_regularizer function into...
wangsiyu [Tue, 8 May 2018 02:54:04 +0000 (10:54 +0800)]
refine unit test case coding style and move _should_add_regularizer function into add_weight

6 years agoAdd logic for StridedSlice ops in ShapeRefiner::ConstantPartialShape().
Skye Wanderman-Milne [Tue, 8 May 2018 00:28:41 +0000 (17:28 -0700)]
Add logic for StridedSlice ops in ShapeRefiner::ConstantPartialShape().

This mimics the logic in tensor_util.constant_value_as_shape, allowing
the C++ shape inference code to infer more shapes than it could before.

This change also adds an optional stride argument to InferenceContext::Subshape().

PiperOrigin-RevId: 195749522

6 years agoMake conv2d_tranpose_test.py work with C API shapes enabled.
Skye Wanderman-Milne [Tue, 8 May 2018 00:24:28 +0000 (17:24 -0700)]
Make conv2d_tranpose_test.py work with C API shapes enabled.

The C API provides more accurate shape information in many cases.

PiperOrigin-RevId: 195749030

6 years agoMake eager functions runable on TPU
Igor Ganichev [Tue, 8 May 2018 00:21:53 +0000 (17:21 -0700)]
Make eager functions runable on TPU

PiperOrigin-RevId: 195748721

6 years agoRaise an error if we try to take the gradient wrt to the initial value of a loop...
Skye Wanderman-Milne [Tue, 8 May 2018 00:21:39 +0000 (17:21 -0700)]
Raise an error if we try to take the gradient wrt to the initial value of a loop variable.

Fixes #14101

PiperOrigin-RevId: 195748688

6 years agoInternal change
Blake Hechtman [Tue, 8 May 2018 00:00:27 +0000 (17:00 -0700)]
Internal change

PiperOrigin-RevId: 195745819

6 years agoAdd test with tf.cond.
Jacques Pienaar [Mon, 7 May 2018 23:59:41 +0000 (16:59 -0700)]
Add test with tf.cond.

PiperOrigin-RevId: 195745718

6 years agoDelete kTransposeDot (it is no longer in use)
Sanjoy Das [Mon, 7 May 2018 23:55:10 +0000 (16:55 -0700)]
Delete kTransposeDot (it is no longer in use)

PiperOrigin-RevId: 195745124

6 years agoFast-path to VarHandleOp
Alexandre Passos [Mon, 7 May 2018 23:49:44 +0000 (16:49 -0700)]
Fast-path to VarHandleOp

PiperOrigin-RevId: 195744374

6 years agoAdd TFX section. Add Ecosystem page and dropdown menu.
Billy Lamberta [Mon, 7 May 2018 23:38:02 +0000 (16:38 -0700)]
Add TFX section. Add Ecosystem page and dropdown menu.

PiperOrigin-RevId: 195742728

6 years agoReorder executor NodeItem variable length data section so
A. Unique TensorFlower [Mon, 7 May 2018 23:31:07 +0000 (16:31 -0700)]
Reorder executor NodeItem variable length data section so
that all multi-byte aligned types precede all byte-aligned
types so that alignment is satisfied without padding.

PiperOrigin-RevId: 195741712

6 years agoShapeRefiner fix: some variant-type tensors have handle data.
Skye Wanderman-Milne [Mon, 7 May 2018 23:16:32 +0000 (16:16 -0700)]
ShapeRefiner fix: some variant-type tensors have handle data.

ShapeRefiner::AddNode() would only propagate handle data for
DT_RESOURCE tensors, but not DT_VARIANT. The Python shape inference
logic in common_shapes.py handled this correct, which is why we didn't
notice this earlier. In particular, list ops use DT_VARIANT with
handle data.
PiperOrigin-RevId: 195739586

6 years agoRefactor TensorArray to avoid copies and memory allocations when executing eagerly.
Akshay Agrawal [Mon, 7 May 2018 23:16:24 +0000 (16:16 -0700)]
Refactor TensorArray to avoid copies and memory allocations when executing eagerly.

With this change, writes to TensorArrays when eager execution is enabled take O(1) time instead of O(n). Additionally, whereas writing to a TensorArray when constructing a graph results in allocating a new Python TensorArray object, writing to a TensorArray with eager enabled no longer performs that allocation (graph construction uses these allocations to ensure correctness of control flow and gradients, but this isn't necessary when executing eagerly). Finally, this change also removes the artificial write-once semantics of TensorArrays when executing eagerly.

PiperOrigin-RevId: 195739572

6 years ago[XLA] Make post order a possible schedule as it sometimes uses less memory than
Blake Hechtman [Mon, 7 May 2018 22:58:29 +0000 (15:58 -0700)]
[XLA] Make post order a possible schedule as it sometimes uses less memory than
the DFS or list scheduler and it is very simple.

PiperOrigin-RevId: 195736916

6 years ago[Remote functions] Only set the default runner *after* resolving the remote FLR.
Derek Murray [Mon, 7 May 2018 22:51:05 +0000 (15:51 -0700)]
[Remote functions] Only set the default runner *after* resolving the remote FLR.

Previously, if the `runner` was not specified for a function
execution, we would immediately set it to the default runner of the
*local* FLR, even if the function was to be executed remotely. This
change postpones the resolution of the default runner until after the
function invocation has been routed to the FLR that will actually
execute it.

As a result, we avoid the pathological case where a GPU device using a
private threadpool (TF_GPU_THREAD_MODE=gpu_private) ends up running
all of the ops for the CPU-side input pipeline on the private
threadpool.

PiperOrigin-RevId: 195735734

6 years agoAdd EvaluateNodes to tests: RemoveIdentityTransposesMultipleOutputs, RemoveTransposes...
A. Unique TensorFlower [Mon, 7 May 2018 22:47:57 +0000 (15:47 -0700)]
Add EvaluateNodes to tests: RemoveIdentityTransposesMultipleOutputs, RemoveTransposesWithControlDependency, CombineBitcasts, CombineAndRemoveBitcasts, RemoveRedundantCast

PiperOrigin-RevId: 195735234

6 years ago[XLA] Fix a "we're we're" in the operation semantics.
Michael Kuperstein [Mon, 7 May 2018 22:41:52 +0000 (15:41 -0700)]
[XLA] Fix a "we're we're" in the operation semantics.

PiperOrigin-RevId: 195734316

6 years agoAdd support for select (via tf.where) support to tflite.
A. Unique TensorFlower [Mon, 7 May 2018 22:41:22 +0000 (15:41 -0700)]
Add support for select (via tf.where) support to tflite.

PiperOrigin-RevId: 195734246

6 years agoInternal Change.
Michael Case [Mon, 7 May 2018 22:24:02 +0000 (15:24 -0700)]
Internal Change.

PiperOrigin-RevId: 195731675

6 years agoFix TypeError in update_version.py
Michael Case [Mon, 7 May 2018 22:20:49 +0000 (15:20 -0700)]
Fix TypeError in update_version.py

PiperOrigin-RevId: 195731183

6 years agoAdd support for tf.data.Dataset iterators in model training/eval methods in eager...
Pavithra Vijay [Mon, 7 May 2018 22:16:59 +0000 (15:16 -0700)]
Add support for tf.data.Dataset iterators in model training/eval methods in eager-mode

PiperOrigin-RevId: 195730534

6 years agoReplace references to TensorInfo with XlaTensor
Igor Ganichev [Mon, 7 May 2018 22:15:01 +0000 (15:15 -0700)]
Replace references to TensorInfo with XlaTensor

PiperOrigin-RevId: 195730139

6 years agoDisable automated testing of tensorflow/compiler/tests:extract_image_patches_op_test_...
A. Unique TensorFlower [Mon, 7 May 2018 21:55:26 +0000 (14:55 -0700)]
Disable automated testing of tensorflow/compiler/tests:extract_image_patches_op_test_cpu_ondemand

A recent change has made this test flaky.

PiperOrigin-RevId: 195726647

6 years agoAllow output has a different shape from input in the image.transform (#17011).
A. Unique TensorFlower [Mon, 7 May 2018 21:34:11 +0000 (14:34 -0700)]
Allow output has a different shape from input in the image.transform (#17011).

PiperOrigin-RevId: 195723288

6 years agoFix resource variable in cond gradient.
Alexandre Passos [Mon, 7 May 2018 21:29:03 +0000 (14:29 -0700)]
Fix resource variable in cond gradient.

PiperOrigin-RevId: 195722449

6 years ago[XLA] Shard compilation of HloEvaluator.
Justin Lebar [Mon, 7 May 2018 21:23:19 +0000 (14:23 -0700)]
[XLA] Shard compilation of HloEvaluator.

PiperOrigin-RevId: 195721404

6 years agoMove PadV2Options to the end, in order to maintain schema compatibility.
A. Unique TensorFlower [Mon, 7 May 2018 21:15:37 +0000 (14:15 -0700)]
Move PadV2Options to the end, in order to maintain schema compatibility.

PiperOrigin-RevId: 195720133

6 years agoUse 64bit aggregation for gradients and hessians since the 32 bit version is numerica...
A. Unique TensorFlower [Mon, 7 May 2018 21:13:23 +0000 (14:13 -0700)]
Use 64bit aggregation for gradients and hessians since the 32 bit version is numerically unstable for large minibatches.

PiperOrigin-RevId: 195719795

6 years agoChange deprecation_version field in api_def.proto to a string.
Anna R [Mon, 7 May 2018 21:03:15 +0000 (14:03 -0700)]
Change deprecation_version field in api_def.proto to a string.

PiperOrigin-RevId: 195718061

6 years ago[TF:XLA] Bump open source llvm revision to r331624
Sanjoy Das [Mon, 7 May 2018 21:00:09 +0000 (14:00 -0700)]
[TF:XLA] Bump open source llvm revision to r331624

PiperOrigin-RevId: 195717497

6 years agoFixes for accessing variables with a MirroredStrategy in a
A. Unique TensorFlower [Mon, 7 May 2018 20:24:12 +0000 (13:24 -0700)]
Fixes for accessing variables with a MirroredStrategy in a
cross-tower context:

* only provide read-only access to variables via get()

* don't fail if use the variable isn't copied to the current device in
  get()

* make _as_graph_element() return the aggregate value for tower-local
  variables (instead of the incorrect previous behavior of returning
  the primary)

PiperOrigin-RevId: 195711474

6 years agoSpecialize functions only once per unique context.
A. Unique TensorFlower [Mon, 7 May 2018 20:18:33 +0000 (13:18 -0700)]
Specialize functions only once per unique context.

PiperOrigin-RevId: 195710562

6 years agoRename HloDotWithContractDimsMatcher to HloDotWithContractingDimsMatcher
Sanjoy Das [Mon, 7 May 2018 19:48:38 +0000 (12:48 -0700)]
Rename HloDotWithContractDimsMatcher to HloDotWithContractingDimsMatcher

This is a typo I introduced in cr/195514907.

PiperOrigin-RevId: 195706006

6 years agoMake test tensorflow/python/keras:resnet50_test be size "medium"
A. Unique TensorFlower [Mon, 7 May 2018 19:41:07 +0000 (12:41 -0700)]
Make test tensorflow/python/keras:resnet50_test be size "medium"

This test sometimes runs longer than 60s, and has been getting flaky timeouts
as a result.  With a longer timeout, it succeeds reliably.

PiperOrigin-RevId: 195704998

6 years agoAdding Greater/GreaterEqual/LessEqual ops to complement Less.
A. Unique TensorFlower [Mon, 7 May 2018 19:37:36 +0000 (12:37 -0700)]
Adding Greater/GreaterEqual/LessEqual ops to complement Less.

PiperOrigin-RevId: 195704492

6 years agoAdd 'optonly' directive to linear_operator_circulant tests.
Ian Langmore [Mon, 7 May 2018 19:17:02 +0000 (12:17 -0700)]
Add 'optonly' directive to linear_operator_circulant tests.

PiperOrigin-RevId: 195701399

6 years ago[TF:XLA:GPU] Allow the use of linear address when there are size one dimensions
Bixia Zheng [Mon, 7 May 2018 19:15:52 +0000 (12:15 -0700)]
[TF:XLA:GPU] Allow the use of linear address when there are size one dimensions
in a tensor.

The current implementation of EmitArrayElementAddress incorrectly concludes
that having a size one dimension in a tensor indicates broadcasting is needed
and the linear address can't be used to access the tensor. We fix this by
leaving LinearValidOnShape to decide whether the linear address can be used to
access the tensor. This enables the vectorization of loads/stores in unrolled
elementwise op kernels when other criteria are met.

Add a test case.

PiperOrigin-RevId: 195701194

6 years ago[XLA] Add FusionKind matcher to pattern_matcher.h.
Justin Lebar [Mon, 7 May 2018 19:10:15 +0000 (12:10 -0700)]
[XLA] Add FusionKind matcher to pattern_matcher.h.

PiperOrigin-RevId: 195700319

6 years ago[tf.data] Patch to unref iterator_resource in DeserializeIteratorOp.
Shivani Agrawal [Mon, 7 May 2018 19:03:20 +0000 (12:03 -0700)]
[tf.data] Patch to unref iterator_resource in DeserializeIteratorOp.

PiperOrigin-RevId: 195698980

6 years agoDisable autograph cfg_test in windows.
Gunhan Gulsoy [Mon, 7 May 2018 18:52:46 +0000 (11:52 -0700)]
Disable autograph cfg_test in windows.

PiperOrigin-RevId: 195697446

6 years agoRegister bool scatter_update for resource variables
Alexandre Passos [Mon, 7 May 2018 18:49:08 +0000 (11:49 -0700)]
Register bool scatter_update for resource variables
Fixes #17784

PiperOrigin-RevId: 195696915

6 years agoGeneralize the input to TPU distribution strategy. Add cross-shard-replica sum.
Igor Saprykin [Mon, 7 May 2018 18:48:31 +0000 (11:48 -0700)]
Generalize the input to TPU distribution strategy.  Add cross-shard-replica sum.

TPUStrategy passes tests in minimize_loss_test.  That caused me to add a capability to have `iterations x cores` inputs of any structure.  I also resolved a big number of small issues and uncovered more things to resolve that are documented as todos.

PiperOrigin-RevId: 195696833

6 years agoRelease notes for TensorFlow Lite.
Yu-Cheng Ling [Mon, 7 May 2018 18:27:02 +0000 (11:27 -0700)]
Release notes for TensorFlow Lite.

PiperOrigin-RevId: 195693362

6 years agoExtracts PartialConcatConstFolding into a method.
A. Unique TensorFlower [Mon, 7 May 2018 18:11:28 +0000 (11:11 -0700)]
Extracts PartialConcatConstFolding into a method.

PiperOrigin-RevId: 195690333

6 years agoAdd tests for broadcasting KL divergence calculations.
A. Unique TensorFlower [Mon, 7 May 2018 18:09:47 +0000 (11:09 -0700)]
Add tests for broadcasting KL divergence calculations.

PiperOrigin-RevId: 195690035

6 years agoReplaced calls to tensorflow::StringPiece::ToString with std::string conversions.
A. Unique TensorFlower [Mon, 7 May 2018 18:05:56 +0000 (11:05 -0700)]
Replaced calls to tensorflow::StringPiece::ToString with std::string conversions.
That is, instances of sp.ToString() are replaced with std::string(sp).

This will allow tensorflow::StringPiece::ToString to be removed, which is necessary before it can be replaced with absl::string_view.

PiperOrigin-RevId: 195689392

6 years agoExtend block sparsity support for TPUs
A. Unique TensorFlower [Mon, 7 May 2018 17:49:26 +0000 (10:49 -0700)]
Extend block sparsity support for TPUs

PiperOrigin-RevId: 195685740

6 years agoAdd EvaluateNodes to HoistFactorDiv test.
A. Unique TensorFlower [Mon, 7 May 2018 17:47:35 +0000 (10:47 -0700)]
Add EvaluateNodes to HoistFactorDiv test.

PiperOrigin-RevId: 195685340

6 years agoRemoving quotations to fix the broken link found on https://www.tensorflow.org/progra...
A. Unique TensorFlower [Mon, 7 May 2018 17:42:13 +0000 (10:42 -0700)]
Removing quotations to fix the broken link found on https://tensorflow.org/programmers_guide/embedding

The link at "Follow this link to see a fun example of thumbnail images in the Embedding Projector." It should go to https://www.tensorflow.org/images/embedding-mnist.mp4 but instead goes to the TF index page.

PiperOrigin-RevId: 195684456

6 years agoInternal Change
Abhijit Karmarkar [Mon, 7 May 2018 17:27:50 +0000 (10:27 -0700)]
Internal Change

PiperOrigin-RevId: 195681946

6 years agoControl flow graph with forward and backward analysis
A. Unique TensorFlower [Mon, 7 May 2018 13:27:43 +0000 (06:27 -0700)]
Control flow graph with forward and backward analysis

PiperOrigin-RevId: 195654450

6 years agoAutomated g4 rollback of changelist 195638795
A. Unique TensorFlower [Mon, 7 May 2018 11:25:03 +0000 (04:25 -0700)]
Automated g4 rollback of changelist 195638795

PiperOrigin-RevId: 195645734

6 years agoImprove fusion logic of (a dot b) * alpha
A. Unique TensorFlower [Mon, 7 May 2018 10:00:34 +0000 (03:00 -0700)]
Improve fusion logic of (a dot b) * alpha

The previous 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.

PiperOrigin-RevId: 195638795