platform/upstream/tensorflow.git
6 years agoremove unneeded sealing API code
wenhao.hu [Mon, 16 Apr 2018 09:26:21 +0000 (18:26 +0900)]
remove unneeded sealing API code

6 years agorevert unneeded change
Wenhao Hu [Sun, 15 Apr 2018 02:38:00 +0000 (11:38 +0900)]
revert unneeded change

6 years agomove eye to linalg_ops_impl
Wenhao Hu [Sun, 15 Apr 2018 01:26:01 +0000 (10:26 +0900)]
move eye to linalg_ops_impl

6 years agoMerge branch 'master' into support-matrix-2-norm
Wenhao Hu [Mon, 9 Apr 2018 22:17:57 +0000 (07:17 +0900)]
Merge branch 'master' into support-matrix-2-norm

6 years agoMerge pull request #18336 from yongtang/04082018-link-install_c
Amit Patankar [Mon, 9 Apr 2018 17:07:21 +0000 (10:07 -0700)]
Merge pull request #18336 from yongtang/04082018-link-install_c

Fix broken link in doc for install_c.md

6 years agoAllow ComplexAbs Op on mobile platforms (#18113)
Ilya Polenov [Mon, 9 Apr 2018 15:45:48 +0000 (15:45 +0000)]
Allow ComplexAbs Op on mobile platforms (#18113)

Seems like it was disabled long time ago before open-sourcing Tensorflow.
I think disabling it is no longer necessary.
Works now on Android. Could anyone check on iOS?

Somewhat related issue: #11804

6 years agoFix broken link in doc for install_c.md
Yong Tang [Mon, 9 Apr 2018 02:00:47 +0000 (02:00 +0000)]
Fix broken link in doc for install_c.md

This fix adds `https://` to stackoverflow link. Without
`https://` the link is rendered as:
```
https://www.tensorflow.org/install/www.stackoverflow.com/questions/tagged/tensorflow
```
in the current page and is broken.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
6 years agomove dependency
Wenhao Hu [Sat, 7 Apr 2018 13:42:10 +0000 (22:42 +0900)]
move dependency

6 years agotf.Dimension raises TypeError for tf.DType (#17086)
Yan Facai (颜发才) [Sat, 7 Apr 2018 03:05:10 +0000 (11:05 +0800)]
tf.Dimension raises TypeError for tf.DType (#17086)

* BUG: raise error for Dtype

* TST: add test case

6 years agoBranch 191925087 (#18299)
Rasmus Munk Larsen [Fri, 6 Apr 2018 21:24:42 +0000 (14:24 -0700)]
Branch 191925087 (#18299)

* Fix docstring.

PiperOrigin-RevId: 191747417

* Use constants in tf.zeros if the constant won't be too big.

Using fill saves on GraphDef size, but can slow down models since the
total number of ops is greater (fill + shape + constant op). This
change makes us only use fill for large shapes.

PiperOrigin-RevId: 191747456

* Fix typos in "Profile Model Float Operations" documentation.

PiperOrigin-RevId: 191751175

* Added a call in CheckpointSaverHook.after_create_session to always save
checkpoint before the first training step.

PiperOrigin-RevId: 191753026

* Document expected regular structure of the statistical testing library.

PiperOrigin-RevId: 191753693

* Refine BatchReshape error messages.

PiperOrigin-RevId: 191754120

* Include the operators module in the test framework as well.

PiperOrigin-RevId: 191756100

* Expand activity analysis to the test nodes of if and while statements.

PiperOrigin-RevId: 191756234

* Inline more functions

PiperOrigin-RevId: 191761109

* Sync only the convolutional_recurrent file to Keras 2.1.5.

PiperOrigin-RevId: 191763101

* Internal change

PiperOrigin-RevId: 191769724

* Expose odeint_fixed in tf.contrib.integrate

PiperOrigin-RevId: 191769890

* Automated g4 rollback of changelist 191761109

PiperOrigin-RevId: 191771969

* Fix final eval bottleneck creation to work in cases where it isn't cached already.

Fixes #17423

PiperOrigin-RevId: 191773001

* Fix regression caused by cl/191020868: Re-use materialized shapes for other broadcast gradient shape nodes.

PiperOrigin-RevId: 191779263

* Save the original from_proto method before calling it to avoid infinite loop.

PiperOrigin-RevId: 191784430

* Automated g4 rollback of changelist 191753026

PiperOrigin-RevId: 191784709

* [XLA] Remove a dead function and a stale todo.

PiperOrigin-RevId: 191786563

* Enable branch prediction in TensorFlow

PiperOrigin-RevId: 191788253

* Changes loss_reduction default to SUM_OVER_BATCH_SIZE for multi_class_head and binary_classification_head.

PiperOrigin-RevId: 191793392

* quantized LSTM support improvements

PiperOrigin-RevId: 191794956

* Fix TF_ImportGraphDefResults and TF_Function leaks in Python API.

PiperOrigin-RevId: 191797853

* [XLA] Better support for mul reductions in MakeFakeArguments()

Mul reductions want a 1 as their init value, not a 0 or a random value.

PiperOrigin-RevId: 191802819

* Disable tests that are currently failing with cuda 9

PiperOrigin-RevId: 191805453

* Make tf.contrib.estimator.add_metrics work with warm-starting.

PiperOrigin-RevId: 191805682

* Add Raspberry Pi section and link to github build instructions.

PiperOrigin-RevId: 191807862

* Add for and while loops to the list of operators. Do not use them yet.

PiperOrigin-RevId: 191807973

* [TF:XLA] No need to set return value in the while loop's condition.

PiperOrigin-RevId: 191809110

* Add functions to extract the basic symbols on which a composite name relies. This in turn allows to statically obtain a block's syntactic closure.

PiperOrigin-RevId: 191809965

* Add link for index file in performance tab.

PiperOrigin-RevId: 191811610

* Added an option to inline all functions in aggressive mode.

PiperOrigin-RevId: 191819577

* Make concat handler support mixed range input

PiperOrigin-RevId: 191822664

* Automated g4 rollback of changelist 191605505

PiperOrigin-RevId: 191824447

* Add a command line parameter to toco to change the way toco rescales input and output tensors.

PiperOrigin-RevId: 191825756

*   refactor and add proto field required by POD support.

PiperOrigin-RevId: 191826636

* Lazily evaluate shapes with the C API enabled.

This change makes it so shapes are computed only when requested with
_USE_C_API = True. Note that the C API will still raise a shape error
if necessary when the op is created.

In addition, it cleans up the logic for _USE_C_SHAPES = True. In this
case, we lazily fetch and cache shapes directly from the C API. We no
longer need set_shapes_for_outputs at all in this case.

PiperOrigin-RevId: 191830565

* [XLA] Don't call Literal::Get in HloEvaluator's convolution loop.

This speeds up the implementation of conv because Literal::Get calls
Literal::Piece::data, which is relatively slow.

Instead, we call Literal::Data() once and cache the result.

Before: ConvolutionTest/0.StridedFilter (59094 ms)
After:  ConvolutionTest/0.StridedFilter (41812 ms)

Speedup: 59/42 = 1.4x
PiperOrigin-RevId: 191830741

* Added `drop_final_batch` argument to make_batched_features_dataset. This allows the batch_and_drop_remainder function to be used instead of the default batch function.

PiperOrigin-RevId: 191831842

* Add RunMetadata logging to tf.train.ProfilerHook for Tensorboard Memeory/CPU usage visualization

PiperOrigin-RevId: 191832832

* [XLA] Don't call MultidimensionalIndexToLinearIndex in HloEvaluator's convolution routine.

Before: ConvolutionTest/0.StridedFilter (41812 ms)
After:  ConvolutionTest/0.StridedFilter (28054 ms)

Speedup: 42 / 28 = 1.5x
PiperOrigin-RevId: 191835735

* Expose the adaptive sampling option for SDCA and shuffle the data when adaptive sampling is off.

PiperOrigin-RevId: 191836004

* Swap in the new implementation of while and for loops.

PiperOrigin-RevId: 191838806

* Upgrade libpng

PiperOrigin-RevId: 191840652

* Fix StringPiece use-after-free in MasterSession::ReffedClientGraph.

Use the owned ClientGraph as the source for the node_to_name_ map, rather than the borrowed GraphExecutionState (which can be deleted while the ReffedClientGraph is in use).

PiperOrigin-RevId: 191847023

* Add a test to check graceful handling of out-of-memory conditions.

PiperOrigin-RevId: 191860462

* internal change

PiperOrigin-RevId: 191869400

* Fix typos in XlaCompilationCache

PiperOrigin-RevId: 191881135

* Define PRNG seeding style for new code in Distributions and TF Probability, with rationales.

Implement lightweight PRNG for seed generation in that style.

Enables incremental refactoring of existing code into this style.

PiperOrigin-RevId: 191884573

* Avoid marking clusters containing only Identity ops for compilation.

This would produce clusters where XLA cannot optimize anything.

PiperOrigin-RevId: 191887414

* Add description to the LPIRC 2018 competition benchmarker.

PiperOrigin-RevId: 191889484

* The training model need not be built when the kfac optimizer is initialized so the
self._variables will be empty list.  So pass a function which returns list of trainable variables to estimator.

PiperOrigin-RevId: 191893084

* Fix up the support for the case where a given array name occurs multiple
times in the inputs/outputs list of an op. The (non-essential) computation
of the optimal workspace size had not been updated for that case, causing it
to fail on a simple test case. Moreover, the initial implementation had some
redundant usage of std::find that this CL moves to a shared helper function.

PiperOrigin-RevId: 191894081

* Support override of device filters for gRPC, by overriding the requests with default session config.

PiperOrigin-RevId: 191895856

* Tweaked docstrings in LayerCollection.

PiperOrigin-RevId: 191897098

* [TPUClusterResolver] Start a TFServer when running in GKE

This change allows advanced input pipelines (e.g. StreamingFilesDataset, or split-pipelines that use py_func's) to run in GKE- and GKE-like enviornments.

PiperOrigin-RevId: 191897639

* [tf.data] Enable using `tf.contrib.data.prefetch_to_device()` in eager mode.

The added functionality is a substitute for the implicit prefetching in
`tfe.Iterator`, and the two paths will converge in a future change.

Fixes #18260.

PiperOrigin-RevId: 191897666

* Materialize tensor array sizes whenever possible

PiperOrigin-RevId: 191900015

* Object-based checkpointing support for unidirectional cuDNN LSTM cells

Once checked in, this will be the only way I know of to save canonical weights
when executing eagerly. Eager's name-based saving support will only do the
opaque parameter buffer.

I'm not going to try converting everything in one go, but it's a start at
least. And everything else should raise a NotImplementedError rather than
silently not saving correctly.

Single-layer cuDNN cells can be swapped for un-wrapped cuDNN compatible cells or
single cells wrapped in MultiRNNCells. Multi-layer cells need MultiRNNCell
wrapping.

PiperOrigin-RevId: 191905703

* Allow TFE_NewContext to fail more reasonably when SWIG is checking status.

Before:
TFE_Context would check nullptr, and the function would fail straight away.

Now:
TFE_Context is nullptr, so it skips down to checking the status, and an error
is raised.

I'm not able to find in SWIG documentation how to order typemaps in the
generated code - ideally, I'd order it to check the status typemap first. This
code makes it not dependent on this ordering either way.

PiperOrigin-RevId: 191905893

* Change GetInstructionCallContext to take an opcode instead of an
HloInstruction.
This enables use of the function without an actual instruction (eg, if you just
have an HloProto).

PiperOrigin-RevId: 191905914

* TPU Cost Estimator has been modified to also account for the memory cost in the execution time. Until more sophisticated methods are added, we resort to the roofline model to calculate such cost.

PiperOrigin-RevId: 191913626

* Properly handle callable objects.

PiperOrigin-RevId: 191913834

* Minor doc clarification for reduce_sum return type

PiperOrigin-RevId: 191914398

* Added headers only version of tensorflow/core/kernels:cwise_lib, cwise_lib_hdrs. This is for clients that want to use the cwise_ops machinery when making their own custom ops, including cwise_lib directly causes multiple definition linker errors.

PiperOrigin-RevId: 191914445

* [TF:XLA] Create Despecializing Pass Pipeline

When comparing backends, it is useful to take an HLO optimized for one backend and perform transformations in order to match numerics.  This can be thought of as finding a lowest common denominator.

Move this grouping of passes into its own HloPassPipeline that can be reused in a few different places.

PiperOrigin-RevId: 191914799

* Update tf.keras to keras 2.1.5 version.

PiperOrigin-RevId: 191914904

* Remove `TF_InitializeTPU` and `TF_ShutdownTPU` from experimental C API as they are no longer needed. Also remove a duplicate function declaration.

PiperOrigin-RevId: 191918408

* Fix small performance regression in microbenchmarks.

PiperOrigin-RevId: 191919464

* Support RNN profiling in StreamExecutor for CUDA GPUs.

This change hasn't applied autotune on TF Cudnn kernels, only provides lower level support.

PiperOrigin-RevId: 191919566

* Validate errorReporter and improve the documentation on it.

PiperOrigin-RevId: 191920009

* Fix a few bugs in ArithmeticOptimizer and make it robust to failures of shape inference.

PiperOrigin-RevId: 191922788

* Update the rewriter options with the optimizer options

PiperOrigin-RevId: 191923287

* Pull changes from prefetching_ops to support dicts in prefetching_ops_v2 in distribute, and update estimator test to use prefetching.
Also update readme to reflect the support of dictionaries.

PiperOrigin-RevId: 191924990

* Replaced calls to deprecated tensorflow::StringPiece methods with their
tensorflow::str_util equivalents.

This will allow the deprecated methods to be removed.

PiperOrigin-RevId: 191925087

6 years agoMerge pull request #18244 from MarkDaoust/pr16817
Billy Lamberta [Fri, 6 Apr 2018 20:29:34 +0000 (13:29 -0700)]
Merge pull request #18244 from MarkDaoust/pr16817

Python3 support of docs generation

6 years agoMerge pull request #18282 from samikama/unsupported_in_int8
Yifei Feng [Fri, 6 Apr 2018 20:07:25 +0000 (13:07 -0700)]
Merge pull request #18282 from samikama/unsupported_in_int8

Fix control edge issues and handle unsupported ops gracefully in int8 mode during TensorRT conversion

6 years agoMaxpoolwithargmax cpu (#18145)
nio1814 [Fri, 6 Apr 2018 17:52:04 +0000 (10:52 -0700)]
Maxpoolwithargmax cpu (#18145)

* added cpu launch for maxpoolwithargmax

* added gradient op

* op builders

* op builders

added CPU test

code formatting

* undid unwanted changes

* one more unwanted change undid

* addressed review comments

6 years agoBounds-check node ID before getting it's name (#18090)
Thomas Bastiani [Fri, 6 Apr 2018 16:56:07 +0000 (17:56 +0100)]
Bounds-check node ID before getting it's name (#18090)

When the edge is either a frame enter or exit edge then
DescribeCycle() would segfault.

6 years agoMerge branch 'master' into support-matrix-2-norm
Wenhao Hu [Fri, 6 Apr 2018 16:15:35 +0000 (01:15 +0900)]
Merge branch 'master' into support-matrix-2-norm

6 years agoadd assert_element_shape method for tf.contrib.data (#17480)
Yan Facai (颜发才) [Fri, 6 Apr 2018 02:51:12 +0000 (10:51 +0800)]
add assert_element_shape method for tf.contrib.data (#17480)

* ENH: add assert_element_shape method

* CLN: add indentation

* ENH: raise exception when wrong shape is given

* CLN: fix too long line

6 years agoValidate the shape of TakeDataset and SkipDataset (#18267)
Yong Tang [Fri, 6 Apr 2018 00:17:25 +0000 (17:17 -0700)]
Validate the shape of TakeDataset and SkipDataset (#18267)

* Validate the shape of TakeDataset and SkipDataset

The `count` inputs of the TakeDataset and SkipDataset require
scalar. That was not validated before though.

This fix validates the shape of count for TakeDataset and SkipDataset.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add test case for invalide `count` of TakeDataset

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Validate shape of count for SkipDataset

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add test case for invalid count shape for SkipDataset

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
6 years agoDocs: Fix formatting in programmers_guide/debugger (#18281)
Billy Lamberta [Fri, 6 Apr 2018 00:14:29 +0000 (17:14 -0700)]
Docs: Fix formatting in programmers_guide/debugger (#18281)

Fix formating for code block in debugger.md
Fixes #17946

6 years agocontrib/lite: avoid building benchmark_model in build_ios_universal_lib.sh (#17796)
Cédric Deltheil [Thu, 5 Apr 2018 23:56:20 +0000 (01:56 +0200)]
contrib/lite: avoid building benchmark_model in build_ios_universal_lib.sh (#17796)

It is not needed part of this script. In addition, since f0633ec benchmark_model
now depends on //tensorflow/core library which is not taken into account by the
Makefile from contrib/lite, and thus causes failure:

$ ./build_ios_universal_lib.sh
...
In file included from tensorflow/contrib/lite/tools/benchmark_model.cc:29:
In file included from ./tensorflow/core/platform/env.h:24:
In file included from ./tensorflow/core/lib/core/errors.h:21:
./tensorflow/core/lib/core/status.h:23:10: fatal error: 'tensorflow/core/lib/core/error_codes.pb.h' file not found
#include "tensorflow/core/lib/core/error_codes.pb.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

6 years agoFix minor typos for programer guide documents (#17486)
ImSheridan [Thu, 5 Apr 2018 23:54:33 +0000 (07:54 +0800)]
Fix minor typos for programer guide documents (#17486)

* Fix minor typo fix for proggramer guide doccuments

* revert typo in dataset.md

* revert wrong typo fix

* revert wrong typo fix

6 years agoFix an issue caused by (#18183)
Yong Tang [Thu, 5 Apr 2018 23:52:07 +0000 (16:52 -0700)]
Fix an issue caused by (#18183)

While trying to run on my machine (Ubuntu 16.04 Python 2.7)
```
bazel test -s --config=opt --cache_test_results=no //tensorflow/tools/api/tests:api_compatibility_test
```

The following error was encountered:
```
  ......
  File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/ad1e09741bb4109fbc70ef8216b59ee2/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/tools/api/generator/create_python_api.runfiles/org_tensorflow/tensorflow/tools/api/generator/create_python_api.py", line 125, in get_api_imports
    if not module or 'tensorflow.' not in module.__name__:
  File "/usr/lib/python2.7/dist-packages/py/_apipkg.py", line 171, in __getattribute__
    return getattr(getmod(), name)
  File "/usr/lib/python2.7/dist-packages/py/_error.py", line 43, in __getattr__
    raise AttributeError(name)
AttributeError: __name__
```

The issue is that `<AliasModule 'py.error' for 'py._error.error'>` does not
have a `__name__` attribute (See similiar issue in https://github.com/pytest-dev/py/issues/73).

This fix tries to address the issue by adding an `hasattr()` check so
that AttributeError is not thrown.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
6 years agoFix `TypeError: 'dict_keys'` in contrib.distribute with python 3 (#18212)
Yong Tang [Thu, 5 Apr 2018 23:49:29 +0000 (16:49 -0700)]
Fix `TypeError: 'dict_keys'` in contrib.distribute with python 3 (#18212)

This fix tries to fix the issue raised in 18205 where
```
TypeError: 'dict_keys' object does not support indexing
```
was thrown when using contrib.distribute in python 3.

The issue is that DistributedValues.devices returned `self._index.keys()`
which is a `dict_keys` and is not a list in python 3.

This fix converts the `dict_keys` to list for python 3
to fix the issue.

This fix fixes 18205.
This fix als fixes 18188.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
6 years agoFix warning in rnn_cell.py (#18164)
Yong Tang [Thu, 5 Apr 2018 23:49:06 +0000 (16:49 -0700)]
Fix warning in rnn_cell.py (#18164)

This fix fixes the warning in rnn_cell.py caused by l2_normalize with dim:
```
rnn_cell.py:2894: calling l2_normalize (from tensorflow.python.ops.nn_impl) with dim is deprecated and will be removed in a future version.
```

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
6 years agoIgnore control edges as inputs
Sami Kama [Thu, 5 Apr 2018 23:37:36 +0000 (16:37 -0700)]
Ignore control edges as inputs

6 years agoMerge pull request #18277 from meteorcloudy/add_win_def_file
Yifei Feng [Thu, 5 Apr 2018 22:41:11 +0000 (15:41 -0700)]
Merge pull request #18277 from meteorcloudy/add_win_def_file

Add win_def_file attribute for tensorflow/python:pywrap_tensorflow_internal

6 years agoMerge pull request #17934 from Intel-tensorflow/pr-fix-mkl-dnn-build
Benoit Steiner [Thu, 5 Apr 2018 22:38:37 +0000 (15:38 -0700)]
Merge pull request #17934 from Intel-tensorflow/pr-fix-mkl-dnn-build

MKL: Fixing Build Issue

6 years agoAdd win_def_file attribute for tensorflow/python:pywrap_tensorflow_internal
Yun Peng [Thu, 5 Apr 2018 21:32:05 +0000 (23:32 +0200)]
Add win_def_file attribute for tensorflow/python:pywrap_tensorflow_internal

This attribute is somehow missing when pushing for internal to github.

This should fix the TensorFlow Bazel postsubmit for github.

6 years agoMerge pull request #18171 from nagachika/remove_deprecated_warnings_in_contrib_copy_graph
Yifei Feng [Thu, 5 Apr 2018 21:41:21 +0000 (14:41 -0700)]
Merge pull request #18171 from nagachika/remove_deprecated_warnings_in_contrib_copy_graph

Remove warnings for tf.contrib.copy_graph.copy_op_to_graph.

6 years agoMerge pull request #18200 from chenchuanyin/patch-1
Yifei Feng [Thu, 5 Apr 2018 21:40:09 +0000 (14:40 -0700)]
Merge pull request #18200 from chenchuanyin/patch-1

fix problem: ld libgrpc symbols for MacOS

6 years agoFix INT8 conversion bailing in case of unsupported TRT feature
Sami Kama [Thu, 5 Apr 2018 20:30:55 +0000 (13:30 -0700)]
Fix INT8 conversion bailing in case of unsupported TRT feature

6 years agoMerge pull request #18263 from case540/branch_191729654
Yifei Feng [Thu, 5 Apr 2018 20:13:35 +0000 (13:13 -0700)]
Merge pull request #18263 from case540/branch_191729654

Branch 191729654

6 years agoUpdate metrics_ops.py (#18155)
Alan Yee [Thu, 5 Apr 2018 19:32:03 +0000 (12:32 -0700)]
Update metrics_ops.py (#18155)

* Update metrics_ops.py

Add deprecation notes

* Update metrics_ops.py

Fix styling for linter

6 years agoFix some rendering format in contrib doc strings (#18148)
ImSheridan [Thu, 5 Apr 2018 17:29:32 +0000 (01:29 +0800)]
Fix some rendering format in contrib doc strings (#18148)

* Fix some rendering format in contrib doc strings

* Fix line too long pylint error

6 years ago[Intel MKL] Change inter op defaults when built with MKL (#17931)
Jayaram Bobba [Thu, 5 Apr 2018 17:28:59 +0000 (10:28 -0700)]
[Intel MKL] Change inter op defaults when built with MKL  (#17931)

* Change inter op defaults when built with MKL to avoid thread oversubscription

* Bump up default mkl inter_op to be less conservative

6 years agoDocker Jupyter: Update deprecated softmax_cross_entropy_with_logits (#17412)
Sebastián Ramírez [Thu, 5 Apr 2018 16:11:52 +0000 (20:11 +0400)]
Docker Jupyter: Update deprecated softmax_cross_entropy_with_logits (#17412)

* Docker Jupyter Notebooks: Update deprecated softmax_cross_entropy_with_logits

* Docker Jupyter Notebooks: Revert removing collapsed: false

6 years agoMerge commit for internal changes
Michael Case [Thu, 5 Apr 2018 14:34:25 +0000 (07:34 -0700)]
Merge commit for internal changes

6 years agoCreate a separate operators module that is to contain all Python constructs that...
A. Unique TensorFlower [Thu, 5 Apr 2018 12:39:21 +0000 (05:39 -0700)]
Create a separate operators module that is to contain all Python constructs that we override: control flow, builtins, operators, etc.

PiperOrigin-RevId: 191729654

6 years agoAdd support for NCCL2. The configure script asks for what version of NCCL to use...
A. Unique TensorFlower [Thu, 5 Apr 2018 10:09:27 +0000 (03:09 -0700)]
Add support for NCCL2. The configure script asks for what version of NCCL to use. The default is still NCCL 1 from GitHub. If the user chooses NCCL 2, it asks for the install directory.

The nccl_configure.bzl generates two different BUILD files based on the chose NCCL version. For NCCL 1, it aliases to the existing 'nccl_archive' http_repo on GitHub. For NCCL 2, it creates a target containing the NCCL 2 library and headers from the chosen install directory.

PiperOrigin-RevId: 191718007

6 years agoUpgrade Snappy to latest version
Justine Tunney [Thu, 5 Apr 2018 07:53:51 +0000 (00:53 -0700)]
Upgrade Snappy to latest version

They added big endian preprocessor macros in recent releases. Hopefully
this should do the right thing on IBM mainframes.

PiperOrigin-RevId: 191705207

6 years agoUpgrade zlib to latest version
Justine Tunney [Thu, 5 Apr 2018 05:37:42 +0000 (22:37 -0700)]
Upgrade zlib to latest version

PiperOrigin-RevId: 191696213

6 years agoSupport arbitrary permutations for DataFormatDimMap.
A. Unique TensorFlower [Thu, 5 Apr 2018 05:37:35 +0000 (22:37 -0700)]
Support arbitrary permutations for DataFormatDimMap.

PiperOrigin-RevId: 191696203

6 years agoAdd a helper function to re-assign colocation in a graph.
A. Unique TensorFlower [Thu, 5 Apr 2018 01:20:36 +0000 (18:20 -0700)]
Add a helper function to re-assign colocation in a graph.

PiperOrigin-RevId: 191679495

6 years agoSort control inputs alphabetically in ToGraphDefSubRange.
Skye Wanderman-Milne [Thu, 5 Apr 2018 01:00:27 +0000 (18:00 -0700)]
Sort control inputs alphabetically in ToGraphDefSubRange.

PiperOrigin-RevId: 191677358

6 years agoBUGFIX: Detect when broadcasting is required and raise NotImplementedError.
Joshua V. Dillon [Thu, 5 Apr 2018 00:28:41 +0000 (17:28 -0700)]
BUGFIX: Detect when broadcasting is required and raise NotImplementedError.

PiperOrigin-RevId: 191673876

6 years agoExclude some gcc options in Windows build
A. Unique TensorFlower [Thu, 5 Apr 2018 00:18:43 +0000 (17:18 -0700)]
Exclude some gcc options in Windows build

PiperOrigin-RevId: 191672761

6 years ago[XLA]: Enable Memory sanitizer for compilation_passes_test.
Bixia Zheng [Thu, 5 Apr 2018 00:14:11 +0000 (17:14 -0700)]
[XLA]: Enable Memory sanitizer for compilation_passes_test.

Initialize the buffer for a scalar tensor to avoid uninitialized
accesses.

PiperOrigin-RevId: 191672257

6 years agoReplace trivial backend calls with calls to underlying TensorFlow functions - Part 2
Pavithra Vijay [Wed, 4 Apr 2018 23:53:51 +0000 (16:53 -0700)]
Replace trivial backend calls with calls to underlying TensorFlow functions - Part 2

PiperOrigin-RevId: 191669725

6 years agoAddress bug in distributed strategies `Monitor` to allow running for >1 step.
Priya Gupta [Wed, 4 Apr 2018 23:34:54 +0000 (16:34 -0700)]
Address bug in distributed strategies `Monitor` to allow running for >1 step.

PiperOrigin-RevId: 191667378

6 years agoCheck that n + kBlockTrailerSize does not overflow before reading a block
Frank Chen [Wed, 4 Apr 2018 23:26:25 +0000 (16:26 -0700)]
Check that n + kBlockTrailerSize does not overflow before reading a block

PiperOrigin-RevId: 191666300

6 years agoFixed handling of control dependencies in the arithmethic optimizer
Benoit Steiner [Wed, 4 Apr 2018 23:17:46 +0000 (16:17 -0700)]
Fixed handling of control dependencies in the arithmethic optimizer

PiperOrigin-RevId: 191665098

6 years agoRunning sparse_ops_test only in opt mode since the test is flaky (times out) in fastb...
A. Unique TensorFlower [Wed, 4 Apr 2018 23:17:05 +0000 (16:17 -0700)]
Running sparse_ops_test only in opt mode since the test is flaky (times out) in fastbuild mode.

PiperOrigin-RevId: 191665014

6 years agoEnable constant propagation across Enter nodes, but only if is_constant is true.
A. Unique TensorFlower [Wed, 4 Apr 2018 23:05:08 +0000 (16:05 -0700)]
Enable constant propagation across Enter nodes, but only if is_constant is true.
Don't propagate constants with control dependencies through Merge nodes.

PiperOrigin-RevId: 191663396

6 years agoInternal change.
A. Unique TensorFlower [Wed, 4 Apr 2018 22:46:26 +0000 (15:46 -0700)]
Internal change.

PiperOrigin-RevId: 191660588

6 years agoCompile TensorFlow with /arch:AVX on Windows
A. Unique TensorFlower [Wed, 4 Apr 2018 22:45:20 +0000 (15:45 -0700)]
Compile TensorFlow with /arch:AVX on Windows

/arch:AVX is the correpsonding option in MSVC for gcc's --march=native

PiperOrigin-RevId: 191660389

6 years agoAdds commandline option (toco_compatible, bool) that makes the optimize_for_inference...
A. Unique TensorFlower [Wed, 4 Apr 2018 22:45:16 +0000 (15:45 -0700)]
Adds commandline option (toco_compatible, bool) that makes the optimize_for_inference script only use TOCO friendly ops. In particular, FusedResizeAndPadConv2D is not supported by TOCO.

This change does not alter existing behavior (the boolean is set to false by default).

PiperOrigin-RevId: 191660378

6 years agoAdding Operation._control_outputs
Alexandre Passos [Wed, 4 Apr 2018 22:42:14 +0000 (15:42 -0700)]
Adding Operation._control_outputs

PiperOrigin-RevId: 191659944

6 years agoRemove dependency on absl to fix tf-nightly-gpu windows GPU build
Smit Hinsu [Wed, 4 Apr 2018 22:36:52 +0000 (15:36 -0700)]
Remove dependency on absl to fix tf-nightly-gpu windows GPU build

PiperOrigin-RevId: 191659091

6 years agoFix typo in `tf.reduce_mean` documentation.
Daniel Zheng [Wed, 4 Apr 2018 22:28:01 +0000 (15:28 -0700)]
Fix typo in `tf.reduce_mean` documentation.

The range of valid values for the `axis` argument should be `[-rank(input), rank(input))`, just like other reduction ops.

PiperOrigin-RevId: 191657767

6 years agoIterate over a copy of dictionary keys when closing variable subscopes. Otherwise...
Priya Gupta [Wed, 4 Apr 2018 22:15:32 +0000 (15:15 -0700)]
Iterate over a copy of dictionary keys when closing variable subscopes. Otherwise, we run into a "dictionary changed size during iteration" once in a while, as we are modifying the values in the dictionary during the iteration.

PiperOrigin-RevId: 191655599

6 years agoCreates a LinearModel (inherits from keras.training.Model) that creates a linear
Rohan Jain [Wed, 4 Apr 2018 22:14:19 +0000 (15:14 -0700)]
Creates a LinearModel (inherits from keras.training.Model) that creates a linear
model.

Had to modify the __call__ method in the base layer class so that it could work with feature style inputs in which case we lazily convert the inputs to tensors instead of providing tensors as inputs upfront.

PiperOrigin-RevId: 191655445

6 years agoRename `distribute` to `train_distribute` parameter in `RunConfig` to clarify that...
Priya Gupta [Wed, 4 Apr 2018 22:06:08 +0000 (15:06 -0700)]
Rename `distribute` to `train_distribute` parameter in `RunConfig` to clarify that its purpose is only for training.

PiperOrigin-RevId: 191654161

6 years agoAdd quantized uint8 L2Normalization Kernel.
A. Unique TensorFlower [Wed, 4 Apr 2018 21:55:16 +0000 (14:55 -0700)]
Add quantized uint8 L2Normalization Kernel.

PiperOrigin-RevId: 191652174

6 years agoGraphOptimizerStagePipeline to pass through multiple
A. Unique TensorFlower [Wed, 4 Apr 2018 21:45:05 +0000 (14:45 -0700)]
GraphOptimizerStagePipeline to pass through multiple
optimizer stages, skipping stages that return error.

PiperOrigin-RevId: 191650182

6 years agoCheck that the c_api module is not destroyed
Akshay Modi [Wed, 4 Apr 2018 21:41:59 +0000 (14:41 -0700)]
Check that the c_api module is not destroyed

PiperOrigin-RevId: 191649662

6 years agoAdd link to tensorflow.js
Shanqing Cai [Wed, 4 Apr 2018 21:39:40 +0000 (14:39 -0700)]
Add link to tensorflow.js

PiperOrigin-RevId: 191649295

6 years agoInline nested function calls.
A. Unique TensorFlower [Wed, 4 Apr 2018 21:31:29 +0000 (14:31 -0700)]
Inline nested function calls.

PiperOrigin-RevId: 191647899

6 years agoAdding a _create_state method to FeatureColumn so that we can decouple variable ...
Rohan Jain [Wed, 4 Apr 2018 21:29:03 +0000 (14:29 -0700)]
Adding a _create_state method to FeatureColumn so that we can decouple variable (more generally, state) creation from getting dense tensors etc. This lays the groundwork to create a Layer type interface (which is more eager friendly) on top of feature columns where variable creation is separated from getting the tensors out.

PiperOrigin-RevId: 191647517

6 years agorun evaluate nodes on parts of arithmetic optimizer tests.
A. Unique TensorFlower [Wed, 4 Apr 2018 21:28:22 +0000 (14:28 -0700)]
run evaluate nodes on parts of arithmetic optimizer tests.

PiperOrigin-RevId: 191647386

6 years agoMerge pull request #17027 from nluehr/shared_complex_fix
ekelsen [Wed, 4 Apr 2018 20:53:36 +0000 (13:53 -0700)]
Merge pull request #17027 from nluehr/shared_complex_fix

Fix __shared__ complex<T> undefined behavior

6 years agoPermit use of ArraysExtraInfo/constant_float_value when target model is quantized.
A. Unique TensorFlower [Wed, 4 Apr 2018 20:38:20 +0000 (13:38 -0700)]
Permit use of ArraysExtraInfo/constant_float_value when target model is quantized.

PiperOrigin-RevId: 191639289

6 years agoFix up output array min/max post-quantization if the range was overridden.
A. Unique TensorFlower [Wed, 4 Apr 2018 20:24:06 +0000 (13:24 -0700)]
Fix up output array min/max post-quantization if the range was overridden.

PiperOrigin-RevId: 191637143

6 years agoExpose scatter_add for resource variables.
Adria Puigdomenech [Wed, 4 Apr 2018 20:02:27 +0000 (13:02 -0700)]
Expose scatter_add for resource variables.

PiperOrigin-RevId: 191634030

6 years agofix lint
Mark Daoust [Wed, 4 Apr 2018 20:00:32 +0000 (13:00 -0700)]
fix lint

6 years agoReplaced calls to deprecated tensorflow::StringPiece methods with their
A. Unique TensorFlower [Wed, 4 Apr 2018 19:08:49 +0000 (12:08 -0700)]
Replaced calls to deprecated tensorflow::StringPiece methods with their
tensorflow::str_util equivalents.

This will allow the deprecated methods to be removed.

PiperOrigin-RevId: 191627087

6 years agoWarning when tweaking a minmax to contain 0.
A. Unique TensorFlower [Wed, 4 Apr 2018 19:00:38 +0000 (12:00 -0700)]
Warning when tweaking a minmax to contain 0.

PiperOrigin-RevId: 191625723

6 years agomake default `kwonlydefaults=None` for py3
Mark Daoust [Wed, 4 Apr 2018 18:48:00 +0000 (11:48 -0700)]
make default `kwonlydefaults=None` for py3

6 years agoMerge branch 'master' of https://github.com/ppwwyyxx/tensorflow into pr16817
Mark Daoust [Wed, 4 Apr 2018 18:55:50 +0000 (11:55 -0700)]
Merge branch 'master' of https://github.com/ppwwyyxx/tensorflow into pr16817

6 years agoAlso registers the gpu resourcegather kernel for half (no idea why it was missing)
Alexandre Passos [Wed, 4 Apr 2018 18:35:05 +0000 (11:35 -0700)]
Also registers the gpu resourcegather kernel for half (no idea why it was missing)

PiperOrigin-RevId: 191621111

6 years agoGuard against out-of-bounds dims accesses, even in optimized, no-asserts
A. Unique TensorFlower [Wed, 4 Apr 2018 18:15:56 +0000 (11:15 -0700)]
Guard against out-of-bounds dims accesses, even in optimized, no-asserts
builds.

PiperOrigin-RevId: 191617948

6 years agoAutomated g4 rollback of changelist 191527251
Tony Wang [Wed, 4 Apr 2018 17:00:39 +0000 (10:00 -0700)]
Automated g4 rollback of changelist 191527251

PiperOrigin-RevId: 191605505

6 years agoCheck arguments of ComputeConvSizes that should be positive.
A. Unique TensorFlower [Wed, 4 Apr 2018 16:51:55 +0000 (09:51 -0700)]
Check arguments of ComputeConvSizes that should be positive.

PiperOrigin-RevId: 191604311

6 years agoAdd missing FullArgSpec args for partial
Mark Daoust [Wed, 4 Apr 2018 16:51:56 +0000 (09:51 -0700)]
Add missing FullArgSpec args for partial

6 years agoAdd FullArgSpecs to test.
Mark Daoust [Wed, 4 Apr 2018 16:50:12 +0000 (09:50 -0700)]
Add FullArgSpecs to test.

6 years agoRestructuring the HLO partitioner to fit host computation and handle kCall.
A. Unique TensorFlower [Wed, 4 Apr 2018 16:31:25 +0000 (09:31 -0700)]
Restructuring the HLO partitioner to fit host computation and handle kCall.
Pre process the input module to reassign reserved devices (like the host compute one) to new sequentially increasing device numbers, and track those in the GlobalState.
This avoids having many places where we need to spread the is-special-device logic, within the HLO partitioner and its related components.
Added handling for kCall, which was missing from previous implementation.

PiperOrigin-RevId: 191601831

6 years agoTurn Cast into a proper builtin operator.
A. Unique TensorFlower [Wed, 4 Apr 2018 14:45:31 +0000 (07:45 -0700)]
Turn Cast into a proper builtin operator.

PiperOrigin-RevId: 191590230

6 years agoSync replicas distributed training example with two strategies:
A. Unique TensorFlower [Wed, 4 Apr 2018 12:31:48 +0000 (05:31 -0700)]
Sync replicas distributed training example with two strategies:
1) Interleave covariance and inverse update ops with training op.
2) Run the inverse and covariance ops on separate dedicated workers.

PiperOrigin-RevId: 191579634

6 years agoFix PR-AUC calculation, namely the incorrect use of linear interpolation for Precisio...
A. Unique TensorFlower [Wed, 4 Apr 2018 07:33:14 +0000 (00:33 -0700)]
Fix PR-AUC calculation, namely the incorrect use of linear interpolation for Precision - see Section 4 of Davis & Goadrich 2006 (https://biostat.wisc.edu/~page/rocpr.pdf)
Also, modify the name of the "trapezoidal" summation method to reflect the fact that the proper interpolation method in this case isn't quite the trapezoidal one.

PiperOrigin-RevId: 191555707

6 years agoFix formatting of MKL URLs
Justine Tunney [Wed, 4 Apr 2018 04:33:58 +0000 (21:33 -0700)]
Fix formatting of MKL URLs

The github.com was missing in the mirror.bazel.build path.

PiperOrigin-RevId: 191544461

6 years agoHelp build_pip_package work without ./configure
Justine Tunney [Wed, 4 Apr 2018 04:25:20 +0000 (21:25 -0700)]
Help build_pip_package work without ./configure

If the ./configure tool isn't run this script won't exist. It should
be safe to ignore this file if it isn't present since the variable
expansion below will just default to whatever python is on the PATH.

PiperOrigin-RevId: 191543995

6 years agoremoving an old TODO
Olivia Nordquist [Wed, 4 Apr 2018 03:28:58 +0000 (20:28 -0700)]
removing an old TODO

PiperOrigin-RevId: 191540512

6 years agoEnable calling the C API by default.
Skye Wanderman-Milne [Wed, 4 Apr 2018 02:29:53 +0000 (19:29 -0700)]
Enable calling the C API by default.

Enabling the C API makes TensorFlow's Python code to call the TensorFlow C API for low-level graph construction. This should cause no noticeable changes for the most part. One known difference is improved static shape inference, meaning some shape errors will be surfaced during graph construction instead of at runtime.

Note that this can be disabled by setting the environment variable TF_C_API_GRAPH_CONSTRUCTION=0 (for now, eventually this option will be removed).

PiperOrigin-RevId: 191536563

6 years ago[TF:XLA] Add half precision support to test_utils.
Bixia Zheng [Wed, 4 Apr 2018 02:20:44 +0000 (19:20 -0700)]
[TF:XLA] Add half precision support to test_utils.

PiperOrigin-RevId: 191535944

6 years agoAttach an id for each cost node in virtual_cluster.
Rui Zhao [Wed, 4 Apr 2018 01:49:53 +0000 (18:49 -0700)]
Attach an id for each cost node in virtual_cluster.

PiperOrigin-RevId: 191533511

6 years agoExtra logging to help debug shape inference logic in optimizers.
Max Galkin [Wed, 4 Apr 2018 01:47:46 +0000 (18:47 -0700)]
Extra logging to help debug shape inference logic in optimizers.

PiperOrigin-RevId: 191533338

6 years agoFix error message that was displaying wrong shape
A. Unique TensorFlower [Wed, 4 Apr 2018 01:16:54 +0000 (18:16 -0700)]
Fix error message that was displaying wrong shape

PiperOrigin-RevId: 191530602

6 years ago[XLA] Reshape mover should only transform a reshape/transpose instruction if
Bixia Zheng [Wed, 4 Apr 2018 01:08:21 +0000 (18:08 -0700)]
[XLA] Reshape mover should only transform a reshape/transpose instruction if
all the users of the instruction can be transformed.

This is because if only part of the users of a reshape/transpose instruction are
reshape-move transformed, the original reshape/transpose instruction can't be
eliminated while a modified clone copy of the instruction is added to support
the transformation. As a result, the transformation increases the number of
reshape/transpose instructions in the kerenel and can potentially increase
memory consumption.

Add two test cases.

PiperOrigin-RevId: 191529681

6 years agoFix bug where name generated by Graph::NewName can conflict with generated Send node...
Skye Wanderman-Milne [Wed, 4 Apr 2018 00:57:08 +0000 (17:57 -0700)]
Fix bug where name generated by Graph::NewName can conflict with generated Send node name.

I fixed this very locally to avoid having to fix a bunch of tests
(this is currently blocking enabling the C API), but this should be
fixed more generally in the future.

PiperOrigin-RevId: 191528409

6 years agoReplace trivial backend calls with calls to underlying TensorFlow functions - Part 1
Pavithra Vijay [Wed, 4 Apr 2018 00:56:14 +0000 (17:56 -0700)]
Replace trivial backend calls with calls to underlying TensorFlow functions - Part 1

PiperOrigin-RevId: 191528321

6 years agoFix a shape inference bug.
Benoit Steiner [Wed, 4 Apr 2018 00:52:53 +0000 (17:52 -0700)]
Fix a shape inference bug.

PiperOrigin-RevId: 191528009

6 years ago[TF:XLA] Add INTEL_MKL_ML MatMul method to XLA/CPU backend
Tony Wang [Wed, 4 Apr 2018 00:45:18 +0000 (17:45 -0700)]
[TF:XLA] Add INTEL_MKL_ML MatMul method to XLA/CPU backend

The INTEL GEMM API provides 32-bit and 64-bit MatMul. With INTEL_MKL flag set,
XLA backend emits runtime call to INTEL GEMM MatMul instead of Eigen.

PiperOrigin-RevId: 191527251