platform/upstream/tensorflow.git
7 years agoRemove unused class members
A. Unique TensorFlower [Mon, 29 Jan 2018 15:27:48 +0000 (07:27 -0800)]
Remove unused class members

PiperOrigin-RevId: 183662473

7 years agotfdbg: add tensorboard debugger plugin option to three existing examples
Shanqing Cai [Mon, 29 Jan 2018 15:11:29 +0000 (07:11 -0800)]
tfdbg: add tensorboard debugger plugin option to three existing examples

PiperOrigin-RevId: 183661140

7 years ago[XLA] Set layout of GTE instructions inside fusion nodes.
Justin Lebar [Sun, 28 Jan 2018 19:21:58 +0000 (11:21 -0800)]
[XLA] Set layout of GTE instructions inside fusion nodes.

Other than the root and parameters of a fusion computation, most other
instructions in a fusion computation don't have a layout.  GTEs are an
exception; they should inherit their layout from their operand, which
must be another GTE or a parameter.

Previously LayoutAssignment left GTEs alone, assuming they came in with
the right layout.  But this isn't correct, and in fact LayoutAssignment
cleared the layouts of every non-fused instruction before assigning them
for exactly this reason.  If we'd done the same to fused instructions,
it would have caught this bug, so we make that change here as well.  (We
simplify this loop by removing the check for kOutfeed -- outfeeds do not
produce a result, so there's no shape to keep.)

PiperOrigin-RevId: 183595627

7 years ago[XLA] Show layouts of tuple-shaped instructions (other than kTuple) in graphs.
Justin Lebar [Sun, 28 Jan 2018 18:49:33 +0000 (10:49 -0800)]
[XLA] Show layouts of tuple-shaped instructions (other than kTuple) in graphs.

For example the batch-norm ops return a tuple, and those values' layouts
are significant.  We still hide the layout on tuples, since this can be
noisy.

PiperOrigin-RevId: 183594622

7 years ago[XLA] Reset ShapeVisitor's state between runs of the verifier.
Justin Lebar [Sun, 28 Jan 2018 18:12:55 +0000 (10:12 -0800)]
[XLA] Reset ShapeVisitor's state between runs of the verifier.

We create the ShapeVisitor once per pass pipeline.  Without this change,
after our ShapeVisitor has checked an instruction, it will never again
check that instruction *or any of its transitive inputs*.  Yikes.

PiperOrigin-RevId: 183593437

7 years agoFix use of uninitialied value.
A. Unique TensorFlower [Sun, 28 Jan 2018 03:59:13 +0000 (19:59 -0800)]
Fix use of uninitialied value.

PiperOrigin-RevId: 183558128

7 years agoInternal Change
Zhixian Yan [Sun, 28 Jan 2018 01:38:59 +0000 (17:38 -0800)]
Internal Change

PiperOrigin-RevId: 183551521

7 years agoRemove unused BUILD dependencies
A. Unique TensorFlower [Sat, 27 Jan 2018 13:12:06 +0000 (05:12 -0800)]
Remove unused BUILD dependencies

PiperOrigin-RevId: 183514731

7 years agoAdds a deprecated_alias utility function with which to deprecate unmodified aliases.
Martin Wicke [Sat, 27 Jan 2018 07:35:51 +0000 (23:35 -0800)]
Adds a deprecated_alias utility function with which to deprecate unmodified aliases.

PiperOrigin-RevId: 183495796

7 years ago[XLA] Make DeviceMemoryAllocator::platform() a const pointer.
Justin Lebar [Sat, 27 Jan 2018 06:57:08 +0000 (22:57 -0800)]
[XLA] Make DeviceMemoryAllocator::platform() a const pointer.

PiperOrigin-RevId: 183493603

7 years ago[TF:XLA] Update stale comments to match function names.
A. Unique TensorFlower [Sat, 27 Jan 2018 06:19:43 +0000 (22:19 -0800)]
[TF:XLA] Update stale comments to match function names.

PiperOrigin-RevId: 183491729

7 years agoFix build: add std:: to max() in tensorflow/contrib/tpu/profiler/capture_tpu_profile.cc.
A. Unique TensorFlower [Sat, 27 Jan 2018 04:51:06 +0000 (20:51 -0800)]
Fix build: add std:: to max() in tensorflow/contrib/tpu/profiler/capture_tpu_profile.cc.

PiperOrigin-RevId: 183486778

7 years agoInternal change.
A. Unique TensorFlower [Sat, 27 Jan 2018 02:59:15 +0000 (18:59 -0800)]
Internal change.

PiperOrigin-RevId: 183479688

7 years agoAdd a feature to automatically recapture the traces when no trace event is collected.
A. Unique TensorFlower [Sat, 27 Jan 2018 02:00:08 +0000 (18:00 -0800)]
Add a feature to automatically recapture the traces when no trace event is collected.

PiperOrigin-RevId: 183474367

7 years agoRemove protobuf patch that was installed to resolve #8394. It appears to not be neces...
A. Unique TensorFlower [Sat, 27 Jan 2018 01:57:49 +0000 (17:57 -0800)]
Remove protobuf patch that was installed to resolve #8394. It appears to not be necessary any longer.

PiperOrigin-RevId: 183474194

7 years agoCreate different data for each Literal when creating fake data.
Mark Heffernan [Sat, 27 Jan 2018 01:50:03 +0000 (17:50 -0800)]
Create different data for each Literal when creating fake data.
Thread a generator through the functions for creating fake arguments so the same
generator can be reused which avoids repeating the same data patterns for each
argument generated.

Also tweak the position-dependent biasing heuristic to create both positive and
negative numbers for small literals.

PiperOrigin-RevId: 183473588

7 years agoFixed bug: inconsistency with how damping normalization was applied to ConvDiagonalFB...
A. Unique TensorFlower [Sat, 27 Jan 2018 01:38:06 +0000 (17:38 -0800)]
Fixed bug: inconsistency with how damping normalization was applied to ConvDiagonalFB blocks.

PiperOrigin-RevId: 183472440

7 years agoRaise to 4 the shard counts of //third_party/tensorflow/contrib/{factorization:kmeans...
A. Unique TensorFlower [Sat, 27 Jan 2018 01:18:16 +0000 (17:18 -0800)]
Raise to 4 the shard counts of //third_party/tensorflow/contrib/{factorization:kmeans_test,linear_optimizer:sdca_estimator_test}

These tests were getting flaky timeouts when run under asan, sometimes taking
longer than the 5 minute timeout.  Increasing the shard count to 4 seems to be
sufficient to cause them not to time out.

PiperOrigin-RevId: 183470183

7 years ago[XLA] Add a DeviceAllocator* argument to compilation.
Justin Lebar [Sat, 27 Jan 2018 01:12:23 +0000 (17:12 -0800)]
[XLA] Add a DeviceAllocator* argument to compilation.

In a later change, the GPU backend will use this allocator to reserve
scratch memory when trying out different convolution algorithms during
compilation.

PiperOrigin-RevId: 183469579

7 years agoAdd reduce-precision to evaluator and add implicit broadcast remover pass.
Mark Heffernan [Sat, 27 Jan 2018 00:58:00 +0000 (16:58 -0800)]
Add reduce-precision to evaluator and add implicit broadcast remover pass.
The reduce precision support is cribbed from the CPU/GPU LLVM-emitted
implementation. The implicit broadcast pass removes any implicit broadcasts in
the module replacing them with the equivalent explicit broadcast and reshape
instructions.

PiperOrigin-RevId: 183467648

7 years agoAdd C0301 line-too-long error to pylint sanity check.
Yifei Feng [Sat, 27 Jan 2018 00:53:59 +0000 (16:53 -0800)]
Add C0301 line-too-long error to pylint sanity check.

PiperOrigin-RevId: 183467186

7 years ago[tf.data] Support for initializing all the tables of the given graph.
Shivani Agrawal [Sat, 27 Jan 2018 00:51:25 +0000 (16:51 -0800)]
[tf.data] Support for initializing all the tables of the given graph.

PiperOrigin-RevId: 183466905

7 years agoAdd bidirectional sequence RNN to TFLite Ops.
A. Unique TensorFlower [Sat, 27 Jan 2018 00:36:55 +0000 (16:36 -0800)]
Add bidirectional sequence RNN to TFLite Ops.

PiperOrigin-RevId: 183465032

7 years ago[XLA] Don't print "{no layout}" if there is no layout.
A. Unique TensorFlower [Sat, 27 Jan 2018 00:23:40 +0000 (16:23 -0800)]
[XLA] Don't print "{no layout}" if there is no layout.

PiperOrigin-RevId: 183463264

7 years ago[XLA] (Re-land) Add HLO matcher for CustomCall that accepts a call target.
Justin Lebar [Fri, 26 Jan 2018 23:54:38 +0000 (15:54 -0800)]
[XLA] (Re-land) Add HLO matcher for CustomCall that accepts a call target.

Now with less build breakage!

PiperOrigin-RevId: 183458987

7 years ago[XLA] optimize NearComparator#ExpectLiteralsNear()
Nick Desaulniers [Fri, 26 Jan 2018 23:01:40 +0000 (15:01 -0800)]
[XLA] optimize NearComparator#ExpectLiteralsNear()

While tracking down the issue of timeouts when running THE ISOLATOR, it was
observed that NearComparator#ExpectLiteralsNear() could be optimized in the
case of matching layouts to not compute multi indexes.

In the process of tracking down timeouts in THE ISOLATOR, I had assumed that
time spent was dominated by either generating input data, executing the input
data on various backends, or comparing the data. Never assume you know where
the time is spent in a program; the profiler may surprise you.

After making that optimization and then profiling the code before and after, I
was surprised by the profile. Image the shock, horror, and disgust I
experienced when discovering that runs of THE ISOLATOR were dominated (45%) by
calls to Literal#ToString() in NearComparator#ExpectLiteralsNear() for huge
(>120 million elements) literals that failed comparisons.  No wonder passing
shards of THE ISOLATOR were fast, and failing shards were slow.

Further, computing multi indexes many times is expensive enough (18%) to show
up in profiles, so avoid calculating it until it is necessary.

The optimizations in this patch:
* Don't call Literal#ToString() on huge literals that are going to get written
  to disk anyways. The utility of printing said literal to stdout is suspect.
* Initialize NearComparator#miscompares_ to false, only update miscompares_ and
  other stats when miscompare occurs.
* Split NearComparator#ExpectLiteralsNear() into two, since we only need to log
  and update stats if an actual miscompare occurs.
* Add fast path in NearComparator#ExpectLiteralsNear() for case of matching
  layouts, being careful not to compute multi index unless mismatch actually
  occurs.

This optimized NearComparator#ExpectLiteralsNear() for the case of many element
literals, with few miscompares. For many miscompares, we cannot avoid
calculating multi indexes, but can fast path for equal layouts. For zero
miscompares, we can at least fast path in the case of matching layouts.

Before this CL, a run of THE ISOLATOR for a single literal with >120 million
elements and a few miscompares took 379s (6.3m). With this CL, the same test
case now takes 44s.

Beautiful flame graphs omitted from public commit message, regrettably.

PiperOrigin-RevId: 183451138

7 years agoRemove dead code
A. Unique TensorFlower [Fri, 26 Jan 2018 22:57:03 +0000 (14:57 -0800)]
Remove dead code

PiperOrigin-RevId: 183450369

7 years agoRaise shard count to 10 for tensorflow/python/kernel_tests:metrics_test
A. Unique TensorFlower [Fri, 26 Jan 2018 22:54:42 +0000 (14:54 -0800)]
Raise shard count to 10 for tensorflow/python/kernel_tests:metrics_test

The test was sometimes taking over six minutes to run in asan mode,
causing it to hit the 5 minute timeout.   Setting the shard count
to 6 was inufficient, but setting it to 10 brought the runtime
down to about 3:30 in the worst case over 100 runs.

PiperOrigin-RevId: 183449941

7 years agoAdd a security document discussing high level best practices and explain vulnerabilit...
Martin Wicke [Fri, 26 Jan 2018 22:46:01 +0000 (14:46 -0800)]
Add a security document discussing high level best practices and explain vulnerability reporting process.

PiperOrigin-RevId: 183448435

7 years agoImprovements to eager linear regression benchmark:
Alexandre Passos [Fri, 26 Jan 2018 22:35:04 +0000 (14:35 -0800)]
Improvements to eager linear regression benchmark:
  1. Using _shape_tuple
  2. Bypassing * over math_ops.mul etc
  3. Flatmaps in the tape code
  4. Cache for ones similar to for zeros
  5. Fast path for _SubGrad
  6. Fast global_step += 1 for resource variables
  7. Bypassing deprecated args decorator in eager mode

PiperOrigin-RevId: 183446593

7 years agotfe.metrics.{Mean,Accuracy} return their inputs.
Alexandre Passos [Fri, 26 Jan 2018 22:32:45 +0000 (14:32 -0800)]
tfe.metrics.{Mean,Accuracy} return their inputs.

This makes chaining them easier. Control dependencies to ensure updates
happen are implicitly added by the function code.

PiperOrigin-RevId: 183446211

7 years agoTo add __init__.py to some paths that are imported by other modules.
A. Unique TensorFlower [Fri, 26 Jan 2018 22:16:19 +0000 (14:16 -0800)]
To add __init__.py to some paths that are imported by other modules.

PiperOrigin-RevId: 183443656

7 years agoDelete mkl_tfconv_op.cc which seem to be a duplicate of mkl_tfconv_op.h, and did...
A. Unique TensorFlower [Fri, 26 Jan 2018 22:14:30 +0000 (14:14 -0800)]
Delete mkl_tfconv_op.cc which seem to be a duplicate of mkl_tfconv_op.h, and did not exist in the external github TF repository.

PiperOrigin-RevId: 183443347

7 years agoAdd op level memory usage estimation to the op_level_cost_estimator
Benoit Steiner [Fri, 26 Jan 2018 22:02:33 +0000 (14:02 -0800)]
Add op level memory usage estimation to the op_level_cost_estimator

PiperOrigin-RevId: 183441321

7 years agoAutomated g4 rollback of changelist 183321394
Adam Roberts [Fri, 26 Jan 2018 21:43:47 +0000 (13:43 -0800)]
Automated g4 rollback of changelist 183321394

PiperOrigin-RevId: 183438398

7 years agoImproved heuristics for swapping
Benoit Steiner [Fri, 26 Jan 2018 21:23:02 +0000 (13:23 -0800)]
Improved heuristics for swapping

PiperOrigin-RevId: 183435438

7 years agoAdd more tests to validate the bucket boundaries for
A. Unique TensorFlower [Fri, 26 Jan 2018 21:20:42 +0000 (13:20 -0800)]
Add more tests to validate the bucket boundaries for
inputs with equal distributions.

PiperOrigin-RevId: 183435084

7 years agoMake the graph generation of TFBT deterministic.
A. Unique TensorFlower [Fri, 26 Jan 2018 20:52:54 +0000 (12:52 -0800)]
Make the graph generation of TFBT deterministic.

PiperOrigin-RevId: 183431139

7 years agoCleanup: Ran clang-format on all *.{h,cc} files in tensorflow/core/framework.
A. Unique TensorFlower [Fri, 26 Jan 2018 20:41:27 +0000 (12:41 -0800)]
Cleanup: Ran clang-format on all *.{h,cc} files in tensorflow/core/framework.

PiperOrigin-RevId: 183429540

7 years agoCleanup: Ran clang-format on all *.{cc,h} in tensorflow/core/ops.
A. Unique TensorFlower [Fri, 26 Jan 2018 20:40:01 +0000 (12:40 -0800)]
Cleanup: Ran clang-format on all *.{cc,h} in tensorflow/core/ops.

PiperOrigin-RevId: 183429339

7 years agoFix the documentation for the dense layer for how rank > 2 inputs are handled.
A. Unique TensorFlower [Fri, 26 Jan 2018 20:12:26 +0000 (12:12 -0800)]
Fix the documentation for the dense layer for how rank > 2 inputs are handled.

PiperOrigin-RevId: 183425868

7 years agoCleanup: Ran clang-format on all *.{cc,h} files in tensorflow/core/kernels.
A. Unique TensorFlower [Fri, 26 Jan 2018 19:59:56 +0000 (11:59 -0800)]
Cleanup: Ran clang-format on all *.{cc,h} files in tensorflow/core/kernels.

PiperOrigin-RevId: 183423961

7 years agoMake softmax_op_test.py work with C API enabled.
Skye Wanderman-Milne [Fri, 26 Jan 2018 19:51:03 +0000 (11:51 -0800)]
Make softmax_op_test.py work with C API enabled.

PiperOrigin-RevId: 183422829

7 years agoFix bug with Operation._control_inputs setter.
Skye Wanderman-Milne [Fri, 26 Jan 2018 19:46:44 +0000 (11:46 -0800)]
Fix bug with Operation._control_inputs setter.

PiperOrigin-RevId: 183422192

7 years agoFix py3 build rules for all py tests under py2tf.
Gunhan Gulsoy [Fri, 26 Jan 2018 19:46:21 +0000 (11:46 -0800)]
Fix py3 build rules for all py tests under py2tf.

PiperOrigin-RevId: 183422144

7 years ago[XLA] Improve error message for bad slices.
Chris Leary [Fri, 26 Jan 2018 19:32:38 +0000 (11:32 -0800)]
[XLA] Improve error message for bad slices.

PiperOrigin-RevId: 183420038

7 years agoPerformance improvements to some GPU code to use shared locks instead of unique locks...
Rohan Jain [Fri, 26 Jan 2018 19:23:02 +0000 (11:23 -0800)]
Performance improvements to some GPU code to use shared locks instead of unique locks for some hotspot cases.

PiperOrigin-RevId: 183418559

7 years agoAdd available choices to toco flags and fix minor formatting issues.
Suharsh Sivakumar [Fri, 26 Jan 2018 19:04:47 +0000 (11:04 -0800)]
Add available choices to toco flags and fix minor formatting issues.

PiperOrigin-RevId: 183415713

7 years agoIncrease shard count of //third_party/tensorflow/python:nn_batchnorm_test to avoid...
A. Unique TensorFlower [Fri, 26 Jan 2018 19:00:37 +0000 (11:00 -0800)]
Increase shard count of //third_party/tensorflow/python:nn_batchnorm_test to avoid timeouts

When run under asan, the test runs for about 5 minutes, and sometimes
longer, causing frequent timeouts.

This change increases the shard count of the test to 4, which brings the run time
of the longest running shard under asan to about 2 minutes.

PiperOrigin-RevId: 183414888

7 years agoCleanup: Ran clang-format on all *.{cc,h} in under grappler.
A. Unique TensorFlower [Fri, 26 Jan 2018 18:11:09 +0000 (10:11 -0800)]
Cleanup: Ran clang-format on all *.{cc,h} in under grappler.

PiperOrigin-RevId: 183406440

7 years ago[tf.data] Move slow-path-related code into the slow path in IteratorHandleOp::Compute().
Derek Murray [Fri, 26 Jan 2018 18:09:52 +0000 (10:09 -0800)]
[tf.data] Move slow-path-related code into the slow path in IteratorHandleOp::Compute().

This slightly reduces the amount of work performed when an iterator is accessed (after the first access), and potentially reduces contention if concurrent steps are accessing the same iterator.

PiperOrigin-RevId: 183406221

7 years agoUpdating sparsify_gather.
A. Unique TensorFlower [Fri, 26 Jan 2018 17:47:58 +0000 (09:47 -0800)]
Updating sparsify_gather.

PiperOrigin-RevId: 183402917

7 years agoKernel utils to support broadcast add and mul.
A. Unique TensorFlower [Fri, 26 Jan 2018 17:03:49 +0000 (09:03 -0800)]
Kernel utils to support broadcast add and mul.

PiperOrigin-RevId: 183397494

7 years agoChange `reduce_logsumexp` to internally use `reshape` rather than `squeeze`
Joshua V. Dillon [Fri, 26 Jan 2018 16:57:10 +0000 (08:57 -0800)]
Change `reduce_logsumexp` to internally use `reshape` rather than `squeeze`
since the latter requires the `axis` arg to be a Python `list`.

PiperOrigin-RevId: 183396533

7 years agoRoll CL 179861781 forward with fix: Wrappers for CUDA 9 warp-synchronous intrinsics.
A. Unique TensorFlower [Fri, 26 Jan 2018 13:15:18 +0000 (05:15 -0800)]
Roll CL 179861781 forward with fix: Wrappers for CUDA 9 warp-synchronous intrinsics.

PiperOrigin-RevId: 183374082

7 years agoRemove dead code
A. Unique TensorFlower [Fri, 26 Jan 2018 13:14:47 +0000 (05:14 -0800)]
Remove dead code

PiperOrigin-RevId: 183374040

7 years agoFix override annotations
A. Unique TensorFlower [Fri, 26 Jan 2018 11:50:58 +0000 (03:50 -0800)]
Fix override annotations

PiperOrigin-RevId: 183367326

7 years agoFix checkpoint_utils.init_from_checkpoint() to be deterministic.
A. Unique TensorFlower [Fri, 26 Jan 2018 09:17:13 +0000 (01:17 -0800)]
Fix checkpoint_utils.init_from_checkpoint() to be deterministic.

PiperOrigin-RevId: 183354193

7 years agoSet up TensorRT configurations for external use, and add a test.
Guangda Lai [Fri, 26 Jan 2018 07:59:19 +0000 (23:59 -0800)]
Set up TensorRT configurations for external use, and add a test.

PiperOrigin-RevId: 183347199

7 years ago Adds R1 test for ReduceWindow.
Tayo Oguntebi [Fri, 26 Jan 2018 07:37:20 +0000 (23:37 -0800)]
  Adds R1 test for ReduceWindow.

PiperOrigin-RevId: 183345779

7 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Fri, 26 Jan 2018 06:45:59 +0000 (22:45 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.

PiperOrigin-RevId: 183342483

7 years agoFor windows cmake build turn on CMAKE_SUPPRESS_REGENERATION to avoid flaky
Gunhan Gulsoy [Fri, 26 Jan 2018 06:32:15 +0000 (22:32 -0800)]
For windows cmake build turn on CMAKE_SUPPRESS_REGENERATION to avoid flaky
build failures.

PiperOrigin-RevId: 183341561

7 years agoClarified documentation on resize_images.align_corners parameter.
A. Unique TensorFlower [Fri, 26 Jan 2018 05:57:50 +0000 (21:57 -0800)]
Clarified documentation on resize_images.align_corners parameter.

PiperOrigin-RevId: 183339087

7 years agoLog more info about the ill-formed node in ComputeTransitiveFanin.
Max Galkin [Fri, 26 Jan 2018 04:27:11 +0000 (20:27 -0800)]
Log more info about the ill-formed node in ComputeTransitiveFanin.

PiperOrigin-RevId: 183333452

7 years agointernal change
A. Unique TensorFlower [Fri, 26 Jan 2018 04:26:35 +0000 (20:26 -0800)]
internal change

PiperOrigin-RevId: 183333411

7 years ago[XLA] Add source mapping utility translation unit, use it in the local client.
Chris Leary [Fri, 26 Jan 2018 03:50:17 +0000 (19:50 -0800)]
[XLA] Add source mapping utility translation unit, use it in the local client.

PiperOrigin-RevId: 183331075

7 years ago [tpu:profiler] Add infeed enqueue operation data to tf_op_stats.proto.
A. Unique TensorFlower [Fri, 26 Jan 2018 03:10:13 +0000 (19:10 -0800)]
  [tpu:profiler] Add infeed enqueue operation data to tf_op_stats.proto.

PiperOrigin-RevId: 183328456

7 years agoUpdate tf.keras to the Keras 2.1.3 API.
Francois Chollet [Fri, 26 Jan 2018 03:05:28 +0000 (19:05 -0800)]
Update tf.keras to the Keras 2.1.3 API.

PiperOrigin-RevId: 183328052

7 years agoSet size of test //third_party/tensorflow/python/data/kernel_tests:dataset_from_gener...
A. Unique TensorFlower [Fri, 26 Jan 2018 02:46:51 +0000 (18:46 -0800)]
Set size of test //third_party/tensorflow/python/data/kernel_tests:dataset_from_generator_op_test to medium

It sometimes takes longer than a minute, and thus gets flaky timeouts.

PiperOrigin-RevId: 183326334

7 years agoAllow passing dummy/custom minmax information on a per-array basis,
A. Unique TensorFlower [Fri, 26 Jan 2018 02:42:44 +0000 (18:42 -0800)]
Allow passing dummy/custom minmax information on a per-array basis,
unlike the existing --default_ranges_{min,max} flags which only allowed
to set a single global value for all arrays.

This takes the form of a new embedded message in ModelFlags, which is
its own message so that it can be serialized separately. The command-line
interface is --arrays_extra_info_file=some_proto.pbtxt, i.e. we don't
try to make a command-line-flags-only interface, we mandate putting the info
in a file. The rationale is that users may want to specify custom minmax
for hundreds of arrays, so it would be cumbersome to have that all in a
command line.

This should be considered an experimental feature, in the sense that
in properly quantized models, minmax information is already embedded
in the graph (e.g. in FakeQuant nodes). This is an extension of the
existing --default_ranges_{min,max} feature which had turned out to be
too restrictive for many users.

PiperOrigin-RevId: 183326000

7 years agoAdd input_shape to seq2seq helpers.
Adam Roberts [Fri, 26 Jan 2018 01:58:48 +0000 (17:58 -0800)]
Add input_shape to seq2seq helpers.

PiperOrigin-RevId: 183321394

7 years agoReplace instances of `control_dependencies(None)` with `init_scope` when
Akshay Agrawal [Fri, 26 Jan 2018 01:50:40 +0000 (17:50 -0800)]
Replace instances of `control_dependencies(None)` with `init_scope` when
initializing variables.

Today, when variables are constructed (Resource and otherwise), we lift certain
operations, including the VarHandleOp and initialization ops, out of all
control flow contexts; the mechanism for doing so is entering the context
manager returned by `control_dependencies(None)`. This change replaces various
instances of this mechanism with `init_scope`, which clears control dependencies, lifts ops out of function-building graphs, and pauses the gradient tape. As a result,
variables that are created inside graph functions will be automatically hoisted
into an outer context.

PiperOrigin-RevId: 183320576

7 years agoMove flatbuffer verifier to a separate lib
A. Unique TensorFlower [Fri, 26 Jan 2018 01:32:12 +0000 (17:32 -0800)]
Move flatbuffer verifier to a separate lib

PiperOrigin-RevId: 183318384

7 years agoAdd an option to input a GraphDef.
Yao Zhang [Fri, 26 Jan 2018 01:27:42 +0000 (17:27 -0800)]
Add an option to input a GraphDef.

PiperOrigin-RevId: 183317862

7 years agoMake kernel_tests/scalar_test.py work with the C API enabled.
Skye Wanderman-Milne [Fri, 26 Jan 2018 01:20:07 +0000 (17:20 -0800)]
Make kernel_tests/scalar_test.py work with the C API enabled.

This also moves the set_producer_version function from a specific test
file to test_util.py, since it's needed in two test files now.

PiperOrigin-RevId: 183316990

7 years ago[XLA] Disable half_test_cpu as it is flaky
A. Unique TensorFlower [Fri, 26 Jan 2018 01:08:50 +0000 (17:08 -0800)]
[XLA] Disable half_test_cpu as it is flaky

PiperOrigin-RevId: 183315762

7 years agoRecord requested cpu cores in OpPerformance.
Yuefeng Zhou [Fri, 26 Jan 2018 00:50:24 +0000 (16:50 -0800)]
Record requested cpu cores in OpPerformance.

PiperOrigin-RevId: 183313321

7 years agoAutomated g4 rollback of changelist 183296506
Justin Lebar [Fri, 26 Jan 2018 00:45:52 +0000 (16:45 -0800)]
Automated g4 rollback of changelist 183296506

PiperOrigin-RevId: 183312680

7 years agoDeleted unused data fields
Benoit Steiner [Fri, 26 Jan 2018 00:45:04 +0000 (16:45 -0800)]
Deleted unused data fields

PiperOrigin-RevId: 183312596

7 years agoMake batch_sequences_with_states_test.py work with C API enabled, take 2.
Skye Wanderman-Milne [Fri, 26 Jan 2018 00:15:50 +0000 (16:15 -0800)]
Make batch_sequences_with_states_test.py work with C API enabled, take 2.

This fixes the original rollback by using placeholders for the
SparseTensor shapes. The flakiness was caused by the nondeterministic
ordering of the sequences dict.

PiperOrigin-RevId: 183308774

7 years agoShow friendlier error message on failure in tf_optimizer.i
Max Galkin [Fri, 26 Jan 2018 00:08:13 +0000 (16:08 -0800)]
Show friendlier error message on failure in tf_optimizer.i

Without it we trigger a segmentation fault, but later in a different stack, which is not so helpful.

PiperOrigin-RevId: 183307729

7 years agoIn the TF cost model, ensure when id grows, records for each op's outputs match the...
Yuefeng Zhou [Thu, 25 Jan 2018 23:59:12 +0000 (15:59 -0800)]
In the TF cost model, ensure when id grows, records for each op's outputs match the number of outputs.

PiperOrigin-RevId: 183306267

7 years agoAdds loss_fn argument in remaining heads.
A. Unique TensorFlower [Thu, 25 Jan 2018 23:25:58 +0000 (15:25 -0800)]
Adds loss_fn argument in remaining heads.

PiperOrigin-RevId: 183301479

7 years ago[XLA:GPU] Implement conditional as a sequence of thunks in the GPU backend.
A. Unique TensorFlower [Thu, 25 Jan 2018 23:01:30 +0000 (15:01 -0800)]
[XLA:GPU] Implement conditional as a sequence of thunks in the GPU backend.

This also includes the following fixes:

(1) Update buffer assignment for conditionals so that the buffers corresponding to the true operand and the true computation parameter are colocated, and similarly, the buffers corresponding to the false operand and the false computation parameter are colocated.

(2) Update GPU copy insertion pass to insert copies when constants appear as operands of conditional instructions.

PiperOrigin-RevId: 183297282

7 years ago[XLA] Add HLO matcher for CustomCall that accepts a call target.
Justin Lebar [Thu, 25 Jan 2018 22:56:38 +0000 (14:56 -0800)]
[XLA] Add HLO matcher for CustomCall that accepts a call target.

PiperOrigin-RevId: 183296506

7 years agoWhitelist "bool" as a valid TPU infeed type.
Peter Hawkins [Thu, 25 Jan 2018 22:53:37 +0000 (14:53 -0800)]
Whitelist "bool" as a valid TPU infeed type.

PiperOrigin-RevId: 183296017

7 years agoDrop the manually_create field from RnnState.
A. Unique TensorFlower [Thu, 25 Jan 2018 22:42:03 +0000 (14:42 -0800)]
Drop the manually_create field from RnnState.

Initially, I thought that the shape of RNN state arrays could always be
determined by shape propagation. Then I came across some graphs where this
wasn't so easy to infer, so I introduced manually_create thinking of it
as a hack. Today I took another look at dropping that hack, and had a
"D'oh" moment when I realized that the cyclic nature of RNN graphs makes
it impossible to infer the shapes of all arrays by usual propagation.
For example, in a LSTM cell, the input array is concatenated with
a state array, so if we don't already know the shape of that state array,
shape propagation stops there.

Thus, this change removes manually_create by making toco always behave as
if manually_create=true, i.e. early-creating all RNN state arrays with
the shape explicitly specified by the user. The next TODO item here
(see model_flags.proto) is to introduce a generic 'shape' field, so far
the current 'size' field only allows specifying 1-D shapes.

PiperOrigin-RevId: 183294102

7 years agoUse LookupOrCreateResource when creating summary writers. The resource may
Jonathan Hseu [Thu, 25 Jan 2018 22:39:44 +0000 (14:39 -0800)]
Use LookupOrCreateResource when creating summary writers. The resource may
already exist because it's associated with the device.

PiperOrigin-RevId: 183293761

7 years agoAdd OPENSOURCE extension to schema_generated.h
A. Unique TensorFlower [Thu, 25 Jan 2018 22:38:57 +0000 (14:38 -0800)]
Add OPENSOURCE extension to schema_generated.h

PiperOrigin-RevId: 183293637

7 years agoMake select_and_scatter_test optonly
Yunxing Dai [Thu, 25 Jan 2018 22:30:15 +0000 (14:30 -0800)]
Make select_and_scatter_test optonly

- Make select_and_scatter_test optonly.
- Reduce number of shards.

PiperOrigin-RevId: 183292230

7 years agoAutomated g4 rollback of changelist 183273334
Eugene Brevdo [Thu, 25 Jan 2018 22:28:41 +0000 (14:28 -0800)]
Automated g4 rollback of changelist 183273334

PiperOrigin-RevId: 183291956

7 years agoDeprecation warning on Variables's += methods
Alexandre Passos [Thu, 25 Jan 2018 22:18:45 +0000 (14:18 -0800)]
Deprecation warning on Variables's += methods

PiperOrigin-RevId: 183290246

7 years agoRemove no longer used param fields from TfLiteResizeBilinerParams
A. Unique TensorFlower [Thu, 25 Jan 2018 21:46:54 +0000 (13:46 -0800)]
Remove no longer used param fields from TfLiteResizeBilinerParams

PiperOrigin-RevId: 183284937

7 years agoVLOG shape inference and annotation return status.
Yao Zhang [Thu, 25 Jan 2018 21:21:24 +0000 (13:21 -0800)]
VLOG shape inference and annotation return status.

PiperOrigin-RevId: 183280222

7 years agoAutomated g4 rollback of changelist 183251689
A. Unique TensorFlower [Thu, 25 Jan 2018 20:24:58 +0000 (12:24 -0800)]
Automated g4 rollback of changelist 183251689

PiperOrigin-RevId: 183273334

7 years agoAdd C0330 bad-continuation check to pylint.
Yifei Feng [Thu, 25 Jan 2018 20:02:36 +0000 (12:02 -0800)]
Add C0330 bad-continuation check to pylint.

PiperOrigin-RevId: 183270896

7 years ago[XLA] Make xla_hlo_profile_test less flaky
Sanjoy Das [Thu, 25 Jan 2018 19:17:08 +0000 (11:17 -0800)]
[XLA] Make xla_hlo_profile_test less flaky

Instead of relying on some oeprations always taking longer than others (and this
appearing in a specific order in the rendered HLO profile), pick them out by
opcode.

PiperOrigin-RevId: 183268593

7 years agoSimplify the template mechanism by specifying templates using multi-line strings...
A. Unique TensorFlower [Thu, 25 Jan 2018 18:36:25 +0000 (10:36 -0800)]
Simplify the template mechanism by specifying templates using multi-line strings instead of functions. This loses the syntax verification on templates, but it avoids the clutter of lint overrides and the duplication of parameter names, so things are more readable.

Addresses #16318

PiperOrigin-RevId: 183260854

7 years agoSurface error if input is not flat list of eager tensors
Akshay Modi [Thu, 25 Jan 2018 17:53:10 +0000 (09:53 -0800)]
Surface error if input is not flat list of eager tensors

PiperOrigin-RevId: 183253112

7 years ago[TF RNN] Ensure dynamic_rnn runs at least one step to propagate dynamic shape info.
Eugene Brevdo [Thu, 25 Jan 2018 17:44:04 +0000 (09:44 -0800)]
[TF RNN] Ensure dynamic_rnn runs at least one step to propagate dynamic shape info.

PiperOrigin-RevId: 183251689