Anna R [Mon, 26 Mar 2018 20:15:53 +0000 (13:15 -0700)]
Internal change.
PiperOrigin-RevId:
190512928
A. Unique TensorFlower [Mon, 26 Mar 2018 20:11:18 +0000 (13:11 -0700)]
Add header guard to lstm_utils.
PiperOrigin-RevId:
190512302
A. Unique TensorFlower [Mon, 26 Mar 2018 20:08:54 +0000 (13:08 -0700)]
Optimized ops, move code to early, common, section so that it can be shared.
PiperOrigin-RevId:
190511964
Igor Ganichev [Mon, 26 Mar 2018 19:47:47 +0000 (12:47 -0700)]
Clarify doc strings on gradient methods
PiperOrigin-RevId:
190508614
Anna R [Mon, 26 Mar 2018 19:40:56 +0000 (12:40 -0700)]
Internal change.
PiperOrigin-RevId:
190507631
Anna R [Mon, 26 Mar 2018 19:20:32 +0000 (12:20 -0700)]
Internal change.
PiperOrigin-RevId:
190504933
Shanqing Cai [Mon, 26 Mar 2018 19:16:34 +0000 (12:16 -0700)]
tfdbg CLI: Allow node exclusion with tensor filters
Fixes: #16619
See the referred GitHub issue for details, but users want to be
able to skip certain nodes when searching for inf/nans, because
some nodes generate inf/nans even in nominal conditions.
This CL adds a new optional flag `--filter_exclude_node_names`
(or `-fenn` for short), which allows users to do exactly that,
by using a regex for node names.
RELNOTES: tfdbg CLI: Allow exclusion of nodes by regular expressions
during tensor filter-enabled Session runs: see the new flags
`--filter_exclude_node_names` (or `-fenn` for short).
PiperOrigin-RevId:
190504225
A. Unique TensorFlower [Mon, 26 Mar 2018 19:14:05 +0000 (12:14 -0700)]
LSTM support: Support fused activation functions in int16 Add ops.
PiperOrigin-RevId:
190503823
Mingsheng Hong [Mon, 26 Mar 2018 18:50:19 +0000 (11:50 -0700)]
Extended experimental C API with MNIST dataset/iterators support.
PiperOrigin-RevId:
190500020
A. Unique TensorFlower [Mon, 26 Mar 2018 18:47:50 +0000 (11:47 -0700)]
Revert to initializing number of threads when SetNumThreads is called. Requiring it
to happen before OpInit() is way too confusing for users.
PiperOrigin-RevId:
190499644
A. Unique TensorFlower [Mon, 26 Mar 2018 18:44:19 +0000 (11:44 -0700)]
Make the CSE ("node deduping") pass in ArithmeticOptimizer more robust in the presence of ops that modify their inputs in-place: Do not dedup nodes if the underlying buffers for their outputs may be passed to an in-place op.
PiperOrigin-RevId:
190499037
Benoit Steiner [Mon, 26 Mar 2018 18:38:15 +0000 (11:38 -0700)]
Made the NumElements function more accurate
PiperOrigin-RevId:
190497916
Asim Shankar [Mon, 26 Mar 2018 18:18:26 +0000 (11:18 -0700)]
tf.GradientTape: Clearly say that tf.while_loop and tf.cond are not supported
by tf.GradientTape.gradient() at this time.
PiperOrigin-RevId:
190494436
Joshua V. Dillon [Mon, 26 Mar 2018 18:15:37 +0000 (11:15 -0700)]
BUGFIX: Fix failure-to-broadcast in Wishart.sample.
PiperOrigin-RevId:
190493969
A. Unique TensorFlower [Mon, 26 Mar 2018 18:05:37 +0000 (11:05 -0700)]
Fixes an issue with calling tf.contrib.seq2seq.dynamic_decode with an extended BasicDecoder which for example returns a tf.contrib.seq2seq.AttentionWrapperState.
In this case the internal while-loop fails when trying to store an instance tf.contrib.seq2seq.AttentionWrapperState in the internal TensorArray.
PiperOrigin-RevId:
190491787
Rachel Lim [Mon, 26 Mar 2018 17:52:46 +0000 (10:52 -0700)]
[tf.data] Usability improvements to `tf.contrib.data.make_csv_dataset`.
PiperOrigin-RevId:
190489086
Mingsheng Hong [Mon, 26 Mar 2018 17:51:21 +0000 (10:51 -0700)]
Added experimental C APIs to build a stack of dataset + iterator nodes that
reads imagenet TFRecord files.
PiperOrigin-RevId:
190488817
Rohan Jain [Mon, 26 Mar 2018 17:25:46 +0000 (10:25 -0700)]
Adding a FunctionBufferingResourceReset Op that resets the state of the function buffering resource so that we can start using it with re-initializable iterators.
PiperOrigin-RevId:
190484110
A. Unique TensorFlower [Mon, 26 Mar 2018 17:00:20 +0000 (10:00 -0700)]
Automated g4 rollback of changelist
190293303
PiperOrigin-RevId:
190479555
A. Unique TensorFlower [Mon, 26 Mar 2018 15:52:53 +0000 (08:52 -0700)]
Updated test (but not source) of https://tensorflow.org/api_docs/python/tf/contrib/training/HParams to show that it allows '=' in the values.
PiperOrigin-RevId:
190470578
Gunhan Gulsoy [Mon, 26 Mar 2018 05:02:09 +0000 (22:02 -0700)]
Disable flaky prefetching_ops_test.
PiperOrigin-RevId:
190416108
Joshua V. Dillon [Mon, 26 Mar 2018 04:57:09 +0000 (21:57 -0700)]
Always cast `tf.distributions.Distribution` `_event_shape`, `_batch_shape`.
PiperOrigin-RevId:
190415923
Petros Mol [Mon, 26 Mar 2018 03:13:13 +0000 (20:13 -0700)]
Minor Error type and documentation fix.
PiperOrigin-RevId:
190411045
Skye Wanderman-Milne [Mon, 26 Mar 2018 02:35:54 +0000 (19:35 -0700)]
Use compat.as_bytes() instead of str.encode().
PiperOrigin-RevId:
190409217
A. Unique TensorFlower [Sun, 25 Mar 2018 18:51:33 +0000 (11:51 -0700)]
Add skeleton code for DebugStripper.
PiperOrigin-RevId:
190391193
A. Unique TensorFlower [Sun, 25 Mar 2018 16:38:54 +0000 (09:38 -0700)]
Restore dependencies that are needed by the PIP package builder
PiperOrigin-RevId:
190387090
Priya Gupta [Sun, 25 Mar 2018 06:42:08 +0000 (23:42 -0700)]
Build and import rules for distributed strategy
PiperOrigin-RevId:
190367484
Dimitris Vardoulakis [Sat, 24 Mar 2018 07:24:50 +0000 (00:24 -0700)]
Misc typo fixes in the XLA sources and docs.
PiperOrigin-RevId:
190322644
Francois Chollet [Sat, 24 Mar 2018 06:04:03 +0000 (23:04 -0700)]
Trivial update of layer imports in eager execution examples, to reflect recommended practices.
PiperOrigin-RevId:
190319480
A. Unique TensorFlower [Sat, 24 Mar 2018 05:27:31 +0000 (22:27 -0700)]
[XLA] Redesign: implement Reshape and Transpose.
Also,
- Templatize ClientLibraryTestBase::CreateParameterAndTransferLiteral. The implementation is moved from .cc to .h because otherewise the linker complains.
- Migrate some reshape tests to use the XlaBuilder.
PiperOrigin-RevId:
190317960
A. Unique TensorFlower [Sat, 24 Mar 2018 03:20:49 +0000 (20:20 -0700)]
[XLA] Prevent using XlaOp from the wrong XlaBuilder.
PiperOrigin-RevId:
190312254
A. Unique TensorFlower [Sat, 24 Mar 2018 03:18:46 +0000 (20:18 -0700)]
A couple of small device-related utilities.
PiperOrigin-RevId:
190312148
A. Unique TensorFlower [Sat, 24 Mar 2018 02:24:04 +0000 (19:24 -0700)]
Fix loop variable type and status propagation
PiperOrigin-RevId:
190308776
A. Unique TensorFlower [Sat, 24 Mar 2018 02:02:37 +0000 (19:02 -0700)]
Adding support for iterating through a tf.data.Dataset for a single epoch.
PiperOrigin-RevId:
190307545
A. Unique TensorFlower [Sat, 24 Mar 2018 01:44:35 +0000 (18:44 -0700)]
When import_scoped_meta_graph is called within a name scope,
but called without an import_scope, the names of the created
variables are wrong, resulting in key not found errors when
adding these variables to their corresponding collections.
PiperOrigin-RevId:
190306555
A. Unique TensorFlower [Sat, 24 Mar 2018 01:39:29 +0000 (18:39 -0700)]
Switch Android C++ compilation mode to "-std=c++11".
PiperOrigin-RevId:
190306256
A. Unique TensorFlower [Sat, 24 Mar 2018 00:49:47 +0000 (17:49 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId:
190302194
Guangda Lai [Sat, 24 Mar 2018 00:28:10 +0000 (17:28 -0700)]
Set the stream in TransformTensor.
PiperOrigin-RevId:
190300166
A. Unique TensorFlower [Sat, 24 Mar 2018 00:19:10 +0000 (17:19 -0700)]
Update ops-related pbtxt files.
PiperOrigin-RevId:
190299240
Skye Wanderman-Milne [Fri, 23 Mar 2018 23:28:16 +0000 (16:28 -0700)]
Make _USE_C_API = True and _USE_C_SHAPES = False work with handle data.
This change makes _set_shapes_for_outputs_c_api fetch and set
Tensor._handle_data. This is necessary for running the
Python shape inference code on resource tensors.
PiperOrigin-RevId:
190293303
A. Unique TensorFlower [Fri, 23 Mar 2018 23:16:22 +0000 (16:16 -0700)]
bug fix: evaluate nodes before swap the original graph
PiperOrigin-RevId:
190291844
Alexandre Passos [Fri, 23 Mar 2018 23:15:55 +0000 (16:15 -0700)]
Moves TensorHandleCopyToDevice to TensorHandle::CopyToDevice.
PiperOrigin-RevId:
190291768
A. Unique TensorFlower [Fri, 23 Mar 2018 23:13:13 +0000 (16:13 -0700)]
[XLA] Redesign: implement local client and local service interface.
PiperOrigin-RevId:
190291400
A. Unique TensorFlower [Fri, 23 Mar 2018 23:00:14 +0000 (16:00 -0700)]
Extended scatter operations to work with a scalar update parameter and added scatter-min and scatter-max operations.
PiperOrigin-RevId:
190289664
Benjamin Kramer [Fri, 23 Mar 2018 22:52:35 +0000 (15:52 -0700)]
[XLA:CPU] Update calls to IRBuilder::CreateMemCpy to the 2-alignment form.
The single alignment version is going away.
PiperOrigin-RevId:
190288581
David Majnemer [Fri, 23 Mar 2018 22:34:47 +0000 (15:34 -0700)]
[XLA] Don't CSE instructions which have side-effects
PiperOrigin-RevId:
190285774
A. Unique TensorFlower [Fri, 23 Mar 2018 22:33:33 +0000 (15:33 -0700)]
Adding support for analyzing assignment info for nested tuples.
PiperOrigin-RevId:
190285584
A. Unique TensorFlower [Fri, 23 Mar 2018 22:12:35 +0000 (15:12 -0700)]
[TF:XLA] Fix PotentiallyImplementedAsEigenConvolution to use the correct shape as the kernel shape
A small bug is found in accessing the kernel's shape of the convolution instruction in PotentiallyImplementedAsEigenConvolution. The bug was fixed and a new testcase is created to reveal the bug.
PiperOrigin-RevId:
190282385
Allen Lavoie [Fri, 23 Mar 2018 22:12:21 +0000 (15:12 -0700)]
Convert the eager SPINN example to use tf.keras.Model and object-based checkpointing.
Uses a more recursive/functional tracking style which avoids numbering layers. Maybe this is too magical and we should adapt tf.keras.Sequential first? Let me know what you think.
PiperOrigin-RevId:
190282346
A. Unique TensorFlower [Fri, 23 Mar 2018 22:10:56 +0000 (15:10 -0700)]
add EvaluateNodes to OpDedupping test.
PiperOrigin-RevId:
190282163
A. Unique TensorFlower [Fri, 23 Mar 2018 21:52:44 +0000 (14:52 -0700)]
Prepare the XLA and TF code to correctly behave once automatic device placement will be enabled by default on computation shapes > 1.
PiperOrigin-RevId:
190278826
A. Unique TensorFlower [Fri, 23 Mar 2018 21:41:02 +0000 (14:41 -0700)]
Benchmarker for LPIRC CVPR2018.
PiperOrigin-RevId:
190276899
Alexandre Passos [Fri, 23 Mar 2018 21:19:37 +0000 (14:19 -0700)]
Fix buffer overflow when fetching resources.
PiperOrigin-RevId:
190273682
A. Unique TensorFlower [Fri, 23 Mar 2018 21:00:39 +0000 (14:00 -0700)]
Fix behavior of bucket_by_sequence_length with tuple Dataset elements
Fixes #17932
PiperOrigin-RevId:
190270732
A. Unique TensorFlower [Fri, 23 Mar 2018 20:47:03 +0000 (13:47 -0700)]
[XLA] Implement the whole graph execution interface and make a test use XlaBuilder.
- Add Client::ExecuteGraph.
- Make client_library_test_base also (partially) support XlaBuilder by using template.
- Make one testcase in the axpy_simple_test use XlaBuilder. The test was slightly changed because currently the builder does not expend implicit broadcast automatically.
PiperOrigin-RevId:
190268658
Alexandre Passos [Fri, 23 Mar 2018 20:23:35 +0000 (13:23 -0700)]
Moves TensorHandle to common_runtime
PiperOrigin-RevId:
190265301
Nupur Garg [Fri, 23 Mar 2018 20:20:13 +0000 (13:20 -0700)]
Updates reduce_mean op.
PiperOrigin-RevId:
190264873
A. Unique TensorFlower [Fri, 23 Mar 2018 20:15:26 +0000 (13:15 -0700)]
* Added links to Machine Learning Crash Course.
* Removed a link to the script that diagnosed Windows installation errors
because that script is now deprecated.
PiperOrigin-RevId:
190264199
A. Unique TensorFlower [Fri, 23 Mar 2018 19:32:42 +0000 (12:32 -0700)]
[XLA] Redesign: add public methods that create XlaOp.
This is basically copying and pasting the public builder methods from ComputationBuilder and leave the implemention blank.
PiperOrigin-RevId:
190258687
Bixia Zheng [Fri, 23 Mar 2018 19:20:12 +0000 (12:20 -0700)]
[XLA:CPU] Task parallel assignment should not parallelize kRng, kInfeed, and kOutfeed.
Add two test cases.
PiperOrigin-RevId:
190257131
Bixia Zheng [Fri, 23 Mar 2018 19:02:57 +0000 (12:02 -0700)]
[XLA] Allow reshape mover to move transpose across broadcast of a scalar value.
This allows the simplification of pattern "transpose elementwise-ops inversed
transpose" to "elementwise-ops".
Add a test case.
PiperOrigin-RevId:
190254501
Yuanzhong Xu [Fri, 23 Mar 2018 18:41:05 +0000 (11:41 -0700)]
Using rounding when converting constants in BF16 propagation.
PiperOrigin-RevId:
190251081
A. Unique TensorFlower [Fri, 23 Mar 2018 18:27:56 +0000 (11:27 -0700)]
Move NullFileSystem to its own file.
PiperOrigin-RevId:
190249020
Frank Chen [Fri, 23 Mar 2018 18:05:14 +0000 (11:05 -0700)]
Move security documentation to the main TensorFlow site for better visibility, and leave a stub SECURITY.md pointing users there.
PiperOrigin-RevId:
190244853
A. Unique TensorFlower [Fri, 23 Mar 2018 18:02:14 +0000 (11:02 -0700)]
Changes loss_reduction default to SUM_OVER_BATCH_SIZE for multi_label_head.
PiperOrigin-RevId:
190244159
Joshua V. Dillon [Fri, 23 Mar 2018 18:01:25 +0000 (11:01 -0700)]
Override `__str__` and `__repr__` in `tf.distributions.Distribution`.
PiperOrigin-RevId:
190243989
Nupur Garg [Fri, 23 Mar 2018 17:53:49 +0000 (10:53 -0700)]
Adds support for SavedModel to TOCO.
PiperOrigin-RevId:
190242571
A. Unique TensorFlower [Fri, 23 Mar 2018 17:52:57 +0000 (10:52 -0700)]
Slightly tweak the whitelist checking mechanism.
PiperOrigin-RevId:
190242423
Dimitris Vardoulakis [Fri, 23 Mar 2018 17:52:16 +0000 (10:52 -0700)]
Automated g4 rollback of changelist
190139303
PiperOrigin-RevId:
190242291
A. Unique TensorFlower [Fri, 23 Mar 2018 17:34:44 +0000 (10:34 -0700)]
Raise the timeout of tests that are somewhat close to the limit, to avoid them timing out.
PiperOrigin-RevId:
190239334
A. Unique TensorFlower [Fri, 23 Mar 2018 17:28:17 +0000 (10:28 -0700)]
Only run GPU version of memory_optimizer_test.
PiperOrigin-RevId:
190238306
A. Unique TensorFlower [Fri, 23 Mar 2018 17:17:52 +0000 (10:17 -0700)]
Check for the existence of an annotation before attempting to fetch it.
PiperOrigin-RevId:
190236717
Derek Murray [Fri, 23 Mar 2018 17:12:05 +0000 (10:12 -0700)]
Silence compilation warning in allocator.h
Some builds report the following warning (even though LOG(FATAL) is terminal):
```
./tensorflow/core/framework/device_base.h(188): warning: missing return statement at end of non-void function "tensorflow::DeviceBase::GetScopedAllocator"
```
PiperOrigin-RevId:
190235863
A. Unique TensorFlower [Fri, 23 Mar 2018 16:15:58 +0000 (09:15 -0700)]
Merged commit includes the following changes:
190228434 by A. Unique TensorFlower:
internal change only
--
190215102 by A. Unique TensorFlower:
Remove placement strategy from Fisher estimator and add it in as Mixin.
A new Kfac Optimizer sub class which runs covariance and inverse ops periodically. This should deprecate lazykfac.
--
190211603 by A. Unique TensorFlower:
Internal only
--
PiperOrigin-RevId:
190228434
A. Unique TensorFlower [Fri, 23 Mar 2018 12:43:13 +0000 (05:43 -0700)]
Fix HloSharding::ToString to be compatible with the HLO text parser
The incompatibility made it impossible to parse HLO modules with
sharding attributes printed from a previous run of XLA. The previous
format generated by this function was ambigious so changing the HLO
parser only wouldn't be feasible.
PiperOrigin-RevId:
190208069
A. Unique TensorFlower [Fri, 23 Mar 2018 11:41:47 +0000 (04:41 -0700)]
Use int32 GPU kernel for StopGradient
PiperOrigin-RevId:
190204238
A. Unique TensorFlower [Fri, 23 Mar 2018 10:55:03 +0000 (03:55 -0700)]
Implement operator<< for HloSharding
The new operator makes the error messages coming from gtest more
readable as well as making logging easier.
PiperOrigin-RevId:
190200926
A. Unique TensorFlower [Fri, 23 Mar 2018 10:37:05 +0000 (03:37 -0700)]
Internal change
PiperOrigin-RevId:
190199534
A. Unique TensorFlower [Fri, 23 Mar 2018 06:25:37 +0000 (23:25 -0700)]
Enable fusion of element-wise ops using XLA (Off by default, can be enabled by setting the flag tf_xla_fusion_only=true).
PiperOrigin-RevId:
190179459
A. Unique TensorFlower [Fri, 23 Mar 2018 04:46:31 +0000 (21:46 -0700)]
Add cast op support for bfloat16 in CPU.
PiperOrigin-RevId:
190173501
Mingsheng Hong [Fri, 23 Mar 2018 03:51:51 +0000 (20:51 -0700)]
Added experimental C APIs to build a hard-coded stack of dataset + iterator.
PiperOrigin-RevId:
190170332
Suharsh Sivakumar [Fri, 23 Mar 2018 03:40:55 +0000 (20:40 -0700)]
Improvements to quantization matching code:
- Guarantee that we do the largest matches first.
- Don't allow matching layers multiple times.
- Don't allow adding quantization ops to the same node multiple times.
- Return a list of match results rather than yielding. This is much easier to reason about.
- Only require ReadVariableOp when matching resource variables, since the input to ReadVariableOps don't necessarily have to be a VarHandleOp.
- Place post activation bypass ops quantization nodes in the same post activation bypass op's name scope for better viewing.
PiperOrigin-RevId:
190169622
Jonathan Hseu [Fri, 23 Mar 2018 03:32:03 +0000 (20:32 -0700)]
Rollback of GCS change.
END_PUBLIC
BEGIN_PUBLIC
Automated g4 rollback of changelist
189900977
PiperOrigin-RevId:
190169076
Allen Lavoie [Fri, 23 Mar 2018 03:02:45 +0000 (20:02 -0700)]
Checkpointable: Add a way for subclasses to manage deferred restorations of conditional dependencies.
PiperOrigin-RevId:
190166571
Francois Chollet [Fri, 23 Mar 2018 01:59:48 +0000 (18:59 -0700)]
Refactor keras.Sequential and enable building Sequential models without specifying an input shape in advance (the model gets built on fit/etc, like subclassed models).
PiperOrigin-RevId:
190161771
Benoit Steiner [Fri, 23 Mar 2018 01:54:27 +0000 (18:54 -0700)]
Merge changes from github.
PiperOrigin-RevId:
190161440
Derek Murray [Fri, 23 Mar 2018 01:20:09 +0000 (18:20 -0700)]
[tf.data] Add `tf.contrib.data.prefetch_to_device()`, which supports prefetching to GPU memory.
PiperOrigin-RevId:
190158272
A. Unique TensorFlower [Fri, 23 Mar 2018 01:05:03 +0000 (18:05 -0700)]
Add asserts for LinearOperatorBlockDiag.
All asserts are only dependent on the constituent operators due to properties of the direct sum.
PiperOrigin-RevId:
190156830
Zhixian Yan [Fri, 23 Mar 2018 00:59:19 +0000 (17:59 -0700)]
Convert saved_model to tflite flatbuffer.
PiperOrigin-RevId:
190156133
A. Unique TensorFlower [Fri, 23 Mar 2018 00:45:03 +0000 (17:45 -0700)]
Disable test tensorflow/contrib/linalg:linear_operator_block_diag_test in asan mode
PiperOrigin-RevId:
190154645
Allen Lavoie [Fri, 23 Mar 2018 00:29:47 +0000 (17:29 -0700)]
Checkpointable: Fix a bug where SaveableObjects in the Saver's var_list were stale when executing eagerly
SaveableObjects were recreated each save(), but the Saver was not recreated and so had an old var_list.
PiperOrigin-RevId:
190153011
Jonathan Hseu [Thu, 22 Mar 2018 23:42:49 +0000 (16:42 -0700)]
Delete all the name_scopes in the TPU code so that tf.Variable() doesn't inherit them.
PiperOrigin-RevId:
190146946
A. Unique TensorFlower [Thu, 22 Mar 2018 23:05:22 +0000 (16:05 -0700)]
Remove cached tensors from LinearOperator.
CSE should already ensure that tensors are deduped (i.e. multiple Cholesky's for the same matrix are not performed).
This also makes it easier to use LinearOperators in tf.while_loop.
PiperOrigin-RevId:
190141732
Mark Heffernan [Thu, 22 Mar 2018 22:49:57 +0000 (15:49 -0700)]
Automated g4 rollback of changelist
190127730
PiperOrigin-RevId:
190139303
A. Unique TensorFlower [Thu, 22 Mar 2018 22:46:54 +0000 (15:46 -0700)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId:
190138848
Gunhan Gulsoy [Thu, 22 Mar 2018 22:36:27 +0000 (15:36 -0700)]
Instead of depending on ctest to be in PATH, directly reference the binary.
PiperOrigin-RevId:
190137278
A. Unique TensorFlower [Thu, 22 Mar 2018 22:32:04 +0000 (15:32 -0700)]
Disable the test tensorflow/core/grappler/optimizers:memory_optimizer_test for cuda_on_cpu
PiperOrigin-RevId:
190136546
A. Unique TensorFlower [Thu, 22 Mar 2018 22:19:02 +0000 (15:19 -0700)]
Update ops-related pbtxt files.
PiperOrigin-RevId:
190134484
Akshay Agrawal [Thu, 22 Mar 2018 22:18:25 +0000 (15:18 -0700)]
Explicitly disallow returning variables from a tfe.py_func.
PiperOrigin-RevId:
190134382
A. Unique TensorFlower [Thu, 22 Mar 2018 22:14:40 +0000 (15:14 -0700)]
Add kwargs support to wrap_py_func. Also includes some fixes to the reference tests and an actual test for wrapping NumPy function that uses kwargs.
PiperOrigin-RevId:
190133811