A. Unique TensorFlower [Thu, 5 Apr 2018 16:57:58 +0000 (09:57 -0700)]
Expand activity analysis to the test nodes of if and while statements.
PiperOrigin-RevId:
191756234
A. Unique TensorFlower [Thu, 5 Apr 2018 16:56:50 +0000 (09:56 -0700)]
Include the operators module in the test framework as well.
PiperOrigin-RevId:
191756100
Joshua V. Dillon [Thu, 5 Apr 2018 16:41:31 +0000 (09:41 -0700)]
Refine BatchReshape error messages.
PiperOrigin-RevId:
191754120
A. Unique TensorFlower [Thu, 5 Apr 2018 16:38:40 +0000 (09:38 -0700)]
Document expected regular structure of the statistical testing library.
PiperOrigin-RevId:
191753693
Sherry Moore [Thu, 5 Apr 2018 16:33:20 +0000 (09:33 -0700)]
Added a call in CheckpointSaverHook.after_create_session to always save
checkpoint before the first training step.
PiperOrigin-RevId:
191753026
A. Unique TensorFlower [Thu, 5 Apr 2018 16:17:57 +0000 (09:17 -0700)]
Fix typos in "Profile Model Float Operations" documentation.
PiperOrigin-RevId:
191751175
Skye Wanderman-Milne [Thu, 5 Apr 2018 15:47:47 +0000 (08:47 -0700)]
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
A. Unique TensorFlower [Thu, 5 Apr 2018 15:47:27 +0000 (08:47 -0700)]
Fix docstring.
PiperOrigin-RevId:
191747417
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
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
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
Justine Tunney [Thu, 5 Apr 2018 05:37:42 +0000 (22:37 -0700)]
Upgrade zlib to latest version
PiperOrigin-RevId:
191696213
A. Unique TensorFlower [Thu, 5 Apr 2018 05:37:35 +0000 (22:37 -0700)]
Support arbitrary permutations for DataFormatDimMap.
PiperOrigin-RevId:
191696203
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
Skye Wanderman-Milne [Thu, 5 Apr 2018 01:00:27 +0000 (18:00 -0700)]
Sort control inputs alphabetically in ToGraphDefSubRange.
PiperOrigin-RevId:
191677358
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
A. Unique TensorFlower [Thu, 5 Apr 2018 00:18:43 +0000 (17:18 -0700)]
Exclude some gcc options in Windows build
PiperOrigin-RevId:
191672761
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
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
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
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
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
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
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
A. Unique TensorFlower [Wed, 4 Apr 2018 22:46:26 +0000 (15:46 -0700)]
Internal change.
PiperOrigin-RevId:
191660588
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
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
Alexandre Passos [Wed, 4 Apr 2018 22:42:14 +0000 (15:42 -0700)]
Adding Operation._control_outputs
PiperOrigin-RevId:
191659944
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
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
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
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
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
A. Unique TensorFlower [Wed, 4 Apr 2018 21:55:16 +0000 (14:55 -0700)]
Add quantized uint8 L2Normalization Kernel.
PiperOrigin-RevId:
191652174
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
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
Shanqing Cai [Wed, 4 Apr 2018 21:39:40 +0000 (14:39 -0700)]
Add link to tensorflow.js
PiperOrigin-RevId:
191649295
A. Unique TensorFlower [Wed, 4 Apr 2018 21:31:29 +0000 (14:31 -0700)]
Inline nested function calls.
PiperOrigin-RevId:
191647899
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
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
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
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
Adria Puigdomenech [Wed, 4 Apr 2018 20:02:27 +0000 (13:02 -0700)]
Expose scatter_add for resource variables.
PiperOrigin-RevId:
191634030
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
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
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
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
Tony Wang [Wed, 4 Apr 2018 17:00:39 +0000 (10:00 -0700)]
Automated g4 rollback of changelist
191527251
PiperOrigin-RevId:
191605505
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
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
A. Unique TensorFlower [Wed, 4 Apr 2018 14:45:31 +0000 (07:45 -0700)]
Turn Cast into a proper builtin operator.
PiperOrigin-RevId:
191590230
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
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
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
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
Olivia Nordquist [Wed, 4 Apr 2018 03:28:58 +0000 (20:28 -0700)]
removing an old TODO
PiperOrigin-RevId:
191540512
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
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
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
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
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
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
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
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
Benoit Steiner [Wed, 4 Apr 2018 00:52:53 +0000 (17:52 -0700)]
Fix a shape inference bug.
PiperOrigin-RevId:
191528009
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
Jacques Pienaar [Wed, 4 Apr 2018 00:36:10 +0000 (17:36 -0700)]
Add testcase for convert.
PiperOrigin-RevId:
191526297
Alexandre Passos [Wed, 4 Apr 2018 00:35:54 +0000 (17:35 -0700)]
Refactors the eager guide to be more researcher-friendly.
* Shows how to build layers
* Orders the topics as they'd be ordered in a normal model
PiperOrigin-RevId:
191526275
Reed Wanderman-Milne [Wed, 4 Apr 2018 00:26:16 +0000 (17:26 -0700)]
Fix Conv3D shape inference.
Before, the stride rows and columns were mixed up, causing shape inference to output the wrong shape.
PiperOrigin-RevId:
191525254
A. Unique TensorFlower [Wed, 4 Apr 2018 00:08:57 +0000 (17:08 -0700)]
Add max_constant_size_in_bytes parameter for ConstantFolding transform that sets the maximum size of each created constant.
PiperOrigin-RevId:
191523208
A. Unique TensorFlower [Wed, 4 Apr 2018 00:08:19 +0000 (17:08 -0700)]
[XLA] Redesign: implement and test Send, Recv.
PiperOrigin-RevId:
191523125
A. Unique TensorFlower [Tue, 3 Apr 2018 23:56:25 +0000 (16:56 -0700)]
[TF:XLA] Add test for scalar dynamic-update-slice.
PiperOrigin-RevId:
191521429
A. Unique TensorFlower [Tue, 3 Apr 2018 23:46:29 +0000 (16:46 -0700)]
This is a cosmetic change to logging, which makes it easier to understand this message when TPU nodes have a huge number of devices attached.
PiperOrigin-RevId:
191520116
Akshay Agrawal [Tue, 3 Apr 2018 23:35:49 +0000 (16:35 -0700)]
Minor touch-ups to the eager programming guide.
PiperOrigin-RevId:
191518771
Benoit Steiner [Tue, 3 Apr 2018 23:20:15 +0000 (16:20 -0700)]
Fold more constants
PiperOrigin-RevId:
191516861
Bixia Zheng [Tue, 3 Apr 2018 23:18:19 +0000 (16:18 -0700)]
[TF]Disable memory sanitizer for compilation_passes_test while the problem is being
PiperOrigin-RevId:
191516643
A. Unique TensorFlower [Tue, 3 Apr 2018 22:58:06 +0000 (15:58 -0700)]
Add forward_from_array to OpKernelContext::Params.
This is an optional reservation on the forwarding of a particular
input tensor to a particular output that will be used by future
optimizations.
PiperOrigin-RevId:
191513782
Jon Shlens [Tue, 3 Apr 2018 22:55:59 +0000 (15:55 -0700)]
Add Group Normalization to tf.contrib.layers.
# Example usage: NHWC
outputs = tf.contrib.layers.group_norm(inputs, groups=32, channels_axis=-1, reduction_axes=[-3, -2])
# Example usage: NCHW
outputs = tf.contrib.layers.group_norm(inputs, groups=32, channels_axis=-3, reduction_axes=[-2, -1])
PiperOrigin-RevId:
191513496
Francois Chollet [Tue, 3 Apr 2018 22:39:02 +0000 (15:39 -0700)]
Add ability to pass symbolic tensors as inputs and targets in calls to Model training and evaluation methods.
This also works for eager tensors, but due to a slicing behavior difference between eager tensors and Numpy arrays, we have to implement a workaround (with a performance cost).
PiperOrigin-RevId:
191511215
Allen Lavoie [Tue, 3 Apr 2018 22:28:27 +0000 (15:28 -0700)]
Checkpointable: Utility to split a dependency for saving/loading
Useful when a single op produces Tensors which should each be saved under
different objects (or when Tensors saved with many different objects need to be
restored together as inputs to a single op).
I plan to use this for cuDNN RNN saving, which currently relies heavily on name
matching to allow cuDNN cells to be swapped out for CPU-compatible RNN
cells. This change has just the utility and some tests for it.
PiperOrigin-RevId:
191509664
Jacques Pienaar [Tue, 3 Apr 2018 22:25:16 +0000 (15:25 -0700)]
Add bfloat16 to GPU types.
PiperOrigin-RevId:
191509090
A. Unique TensorFlower [Tue, 3 Apr 2018 22:20:58 +0000 (15:20 -0700)]
Remove unused #includes
PiperOrigin-RevId:
191508478
Rohan Jain [Tue, 3 Apr 2018 22:08:51 +0000 (15:08 -0700)]
Implementing make_initializatable_iterator for the PrefetchToDeviceDataset.
PiperOrigin-RevId:
191506754
A. Unique TensorFlower [Tue, 3 Apr 2018 22:03:44 +0000 (15:03 -0700)]
Accept toco ModelFlags protos on the command line.
PiperOrigin-RevId:
191505886
A. Unique TensorFlower [Tue, 3 Apr 2018 22:01:09 +0000 (15:01 -0700)]
Internal change
PiperOrigin-RevId:
191505262
A. Unique TensorFlower [Tue, 3 Apr 2018 21:42:31 +0000 (14:42 -0700)]
[XLA] Redesign: implement and test dynamic slice.
PiperOrigin-RevId:
191502312
A. Unique TensorFlower [Tue, 3 Apr 2018 20:53:00 +0000 (13:53 -0700)]
Disabled some tests on Windows
PiperOrigin-RevId:
191494857
A. Unique TensorFlower [Tue, 3 Apr 2018 20:43:05 +0000 (13:43 -0700)]
Use double for arrays extra info min/max to match toco type.
PiperOrigin-RevId:
191493450
A. Unique TensorFlower [Tue, 3 Apr 2018 20:28:37 +0000 (13:28 -0700)]
[XLA] Redesign: migrate slice_test.
PiperOrigin-RevId:
191491425
A. Unique TensorFlower [Tue, 3 Apr 2018 19:40:51 +0000 (12:40 -0700)]
Only create a min/max from extra arrays info if provided.
PiperOrigin-RevId:
191484470
Skye Wanderman-Milne [Tue, 3 Apr 2018 19:38:54 +0000 (12:38 -0700)]
Use PyLong_AsLongLong instead of PyInt_AsLong to guarantee 64-bit output.
A C long is 32 bits on some platforms, which can cause the
PyInt_AsLong call in PyInt64ListToVector to
overflow. large_concat_op_test exposes this bug on such platforms.
PiperOrigin-RevId:
191484167
Jacques Pienaar [Tue, 3 Apr 2018 18:52:23 +0000 (11:52 -0700)]
Add convert f32 to s64 test.
PiperOrigin-RevId:
191476199
A. Unique TensorFlower [Tue, 3 Apr 2018 18:15:29 +0000 (11:15 -0700)]
Turn no-op split/splitv operators into identity.
PiperOrigin-RevId:
191469655
Asim Shankar [Tue, 3 Apr 2018 17:51:57 +0000 (10:51 -0700)]
tf.map_fn: Improve error messaging when elems consists of scalars.
Fixes #17694
Prior to this change, when tf.map_fn was provided with scalars, the error would
be something like:
Traceback (most recent call last):
File "/tensorflow/python/kernel_tests/functional_ops_test.py", line 165, in testMapOverScalarErrors
functional_ops.map_fn(lambda x: x, [1, 2])
File "/tensorflow/python/ops/functional_ops.py", line 368, in map_fn
n = elems_flat[0].shape[0].value or array_ops.shape(elems_flat[0])[0]
File "/tensorflow/python/framework/tensor_shape.py", line 609, in __getitem__
return self._dims[key]
IndexError: list index out of range
PiperOrigin-RevId:
191465183
Bixia Zheng [Tue, 3 Apr 2018 17:47:37 +0000 (10:47 -0700)]
[TF:XLA] Add DT_HALF to the supported data types for the CPU and GPU devices.
Add a test case to compilation_passes_test for DT_HALF data type.
PiperOrigin-RevId:
191464288
A. Unique TensorFlower [Tue, 3 Apr 2018 17:35:00 +0000 (10:35 -0700)]
Three operators are added that can be used to decrease the number of
transpose/reshape occurences. These operators are:
- Swap elementwise
- Swap reshape-transpose
- Fuse transpose-reshape
Swap elementwise groups operations that operate on value, and move values. This
allows all movement operations (reshape, transpose, etc) to group at one
portion of the graph while value manipulations group on the other end.
Swap reshape/transpose finds cases where the reshape-transpose can be reorderd.
This allows the reshape-transpose-reshape case to be transformed to
transpose-reshape-reshape, which can then merge the reshape-reshape.
Finally the transpose-reshape merge allows cases where, when reshape maintains
the same dimensions and does not affect memory ordering, the transpose and
reshape can be merged into a single transpose operator.
PiperOrigin-RevId:
191462038
A. Unique TensorFlower [Tue, 3 Apr 2018 17:32:57 +0000 (10:32 -0700)]
Add 8bit strided slice op to tflite
PiperOrigin-RevId:
191461696
Akshay Modi [Tue, 3 Apr 2018 17:06:32 +0000 (10:06 -0700)]
Don't call context function either in the fastpath.
Also add a slowpath benchmark for identity.
PiperOrigin-RevId:
191457407
Akshay Modi [Tue, 3 Apr 2018 17:04:47 +0000 (10:04 -0700)]
Apply "Raise exception in SWIG on bad TF_Status" to base.i
Minor fixes to make this work.
PiperOrigin-RevId:
191457070
Derek Murray [Tue, 3 Apr 2018 17:00:02 +0000 (10:00 -0700)]
[tf.data] Fix handling of nested structures in `tf.contrib.data.prefetch_to_device()`.
PiperOrigin-RevId:
191456191