Benoit Steiner [Fri, 6 Apr 2018 16:45:01 +0000 (09:45 -0700)]
Materialize tensor array sizes whenever possible
PiperOrigin-RevId:
191900015
Derek Murray [Fri, 6 Apr 2018 16:26:26 +0000 (09:26 -0700)]
[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
Brennan Saeta [Fri, 6 Apr 2018 16:26:08 +0000 (09:26 -0700)]
[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
A. Unique TensorFlower [Fri, 6 Apr 2018 16:21:00 +0000 (09:21 -0700)]
Tweaked docstrings in LayerCollection.
PiperOrigin-RevId:
191897098
A. Unique TensorFlower [Fri, 6 Apr 2018 16:11:32 +0000 (09:11 -0700)]
Support override of device filters for gRPC, by overriding the requests with default session config.
PiperOrigin-RevId:
191895856
A. Unique TensorFlower [Fri, 6 Apr 2018 15:58:14 +0000 (08:58 -0700)]
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
A. Unique TensorFlower [Fri, 6 Apr 2018 15:48:16 +0000 (08:48 -0700)]
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
A. Unique TensorFlower [Fri, 6 Apr 2018 15:11:24 +0000 (08:11 -0700)]
Add description to the LPIRC 2018 competition benchmarker.
PiperOrigin-RevId:
191889484
A. Unique TensorFlower [Fri, 6 Apr 2018 14:50:09 +0000 (07:50 -0700)]
Avoid marking clusters containing only Identity ops for compilation.
This would produce clusters where XLA cannot optimize anything.
PiperOrigin-RevId:
191887414
A. Unique TensorFlower [Fri, 6 Apr 2018 14:13:49 +0000 (07:13 -0700)]
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
Igor Ganichev [Fri, 6 Apr 2018 13:30:45 +0000 (06:30 -0700)]
Fix typos in XlaCompilationCache
PiperOrigin-RevId:
191881135
A. Unique TensorFlower [Fri, 6 Apr 2018 10:23:54 +0000 (03:23 -0700)]
internal change
PiperOrigin-RevId:
191869400
A. Unique TensorFlower [Fri, 6 Apr 2018 08:46:37 +0000 (01:46 -0700)]
Add a test to check graceful handling of out-of-memory conditions.
PiperOrigin-RevId:
191860462
Derek Murray [Fri, 6 Apr 2018 05:37:49 +0000 (22:37 -0700)]
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
Justine Tunney [Fri, 6 Apr 2018 03:43:47 +0000 (20:43 -0700)]
Upgrade libpng
PiperOrigin-RevId:
191840652
A. Unique TensorFlower [Fri, 6 Apr 2018 03:14:42 +0000 (20:14 -0700)]
Swap in the new implementation of while and for loops.
PiperOrigin-RevId:
191838806
A. Unique TensorFlower [Fri, 6 Apr 2018 02:33:58 +0000 (19:33 -0700)]
Expose the adaptive sampling option for SDCA and shuffle the data when adaptive sampling is off.
PiperOrigin-RevId:
191836004
Justin Lebar [Fri, 6 Apr 2018 02:30:10 +0000 (19:30 -0700)]
[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
A. Unique TensorFlower [Fri, 6 Apr 2018 01:50:35 +0000 (18:50 -0700)]
Add RunMetadata logging to tf.train.ProfilerHook for Tensorboard Memeory/CPU usage visualization
PiperOrigin-RevId:
191832832
A. Unique TensorFlower [Fri, 6 Apr 2018 01:37:19 +0000 (18:37 -0700)]
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
Justin Lebar [Fri, 6 Apr 2018 01:23:32 +0000 (18:23 -0700)]
[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
Skye Wanderman-Milne [Fri, 6 Apr 2018 01:21:54 +0000 (18:21 -0700)]
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
A. Unique TensorFlower [Fri, 6 Apr 2018 00:43:43 +0000 (17:43 -0700)]
refactor and add proto field required by POD support.
PiperOrigin-RevId:
191826636
A. Unique TensorFlower [Fri, 6 Apr 2018 00:35:00 +0000 (17:35 -0700)]
Add a command line parameter to toco to change the way toco rescales input and output tensors.
PiperOrigin-RevId:
191825756
Tony Wang [Fri, 6 Apr 2018 00:24:33 +0000 (17:24 -0700)]
Automated g4 rollback of changelist
191605505
PiperOrigin-RevId:
191824447
A. Unique TensorFlower [Fri, 6 Apr 2018 00:08:50 +0000 (17:08 -0700)]
Make concat handler support mixed range input
PiperOrigin-RevId:
191822664
Benoit Steiner [Thu, 5 Apr 2018 23:46:12 +0000 (16:46 -0700)]
Added an option to inline all functions in aggressive mode.
PiperOrigin-RevId:
191819577
Mark Daoust [Thu, 5 Apr 2018 22:48:27 +0000 (15:48 -0700)]
Add link for index file in performance tab.
PiperOrigin-RevId:
191811610
A. Unique TensorFlower [Thu, 5 Apr 2018 22:37:50 +0000 (15:37 -0700)]
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
A. Unique TensorFlower [Thu, 5 Apr 2018 22:32:27 +0000 (15:32 -0700)]
[TF:XLA] No need to set return value in the while loop's condition.
PiperOrigin-RevId:
191809110
A. Unique TensorFlower [Thu, 5 Apr 2018 22:25:32 +0000 (15:25 -0700)]
Add for and while loops to the list of operators. Do not use them yet.
PiperOrigin-RevId:
191807973
Billy Lamberta [Thu, 5 Apr 2018 22:25:00 +0000 (15:25 -0700)]
Add Raspberry Pi section and link to github build instructions.
PiperOrigin-RevId:
191807862
A. Unique TensorFlower [Thu, 5 Apr 2018 22:11:02 +0000 (15:11 -0700)]
Make tf.contrib.estimator.add_metrics work with warm-starting.
PiperOrigin-RevId:
191805682
A. Unique TensorFlower [Thu, 5 Apr 2018 22:09:19 +0000 (15:09 -0700)]
Disable tests that are currently failing with cuda 9
PiperOrigin-RevId:
191805453
Michael Kuperstein [Thu, 5 Apr 2018 21:54:36 +0000 (14:54 -0700)]
[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
Skye Wanderman-Milne [Thu, 5 Apr 2018 21:22:54 +0000 (14:22 -0700)]
Fix TF_ImportGraphDefResults and TF_Function leaks in Python API.
PiperOrigin-RevId:
191797853
A. Unique TensorFlower [Thu, 5 Apr 2018 21:05:03 +0000 (14:05 -0700)]
quantized LSTM support improvements
PiperOrigin-RevId:
191794956
A. Unique TensorFlower [Thu, 5 Apr 2018 20:55:45 +0000 (13:55 -0700)]
Changes loss_reduction default to SUM_OVER_BATCH_SIZE for multi_class_head and binary_classification_head.
PiperOrigin-RevId:
191793392
Justine Tunney [Thu, 5 Apr 2018 20:23:08 +0000 (13:23 -0700)]
Enable branch prediction in TensorFlow
PiperOrigin-RevId:
191788253
A. Unique TensorFlower [Thu, 5 Apr 2018 20:12:26 +0000 (13:12 -0700)]
[XLA] Remove a dead function and a stale todo.
PiperOrigin-RevId:
191786563
A. Unique TensorFlower [Thu, 5 Apr 2018 20:00:06 +0000 (13:00 -0700)]
Automated g4 rollback of changelist
191753026
PiperOrigin-RevId:
191784709
Priya Gupta [Thu, 5 Apr 2018 19:57:49 +0000 (12:57 -0700)]
Save the original from_proto method before calling it to avoid infinite loop.
PiperOrigin-RevId:
191784430
A. Unique TensorFlower [Thu, 5 Apr 2018 19:18:34 +0000 (12:18 -0700)]
Fix regression caused by cl/
191020868: Re-use materialized shapes for other broadcast gradient shape nodes.
PiperOrigin-RevId:
191779263
Suharsh Sivakumar [Thu, 5 Apr 2018 18:36:43 +0000 (11:36 -0700)]
Fix final eval bottleneck creation to work in cases where it isn't cached already.
Fixes #17423
PiperOrigin-RevId:
191773001
A. Unique TensorFlower [Thu, 5 Apr 2018 18:30:35 +0000 (11:30 -0700)]
Automated g4 rollback of changelist
191761109
PiperOrigin-RevId:
191771969
Stephan Hoyer [Thu, 5 Apr 2018 18:18:49 +0000 (11:18 -0700)]
Expose odeint_fixed in tf.contrib.integrate
PiperOrigin-RevId:
191769890
A. Unique TensorFlower [Thu, 5 Apr 2018 18:17:58 +0000 (11:17 -0700)]
Internal change
PiperOrigin-RevId:
191769724
Anjali Sridhar [Thu, 5 Apr 2018 17:41:40 +0000 (10:41 -0700)]
Sync only the convolutional_recurrent file to Keras 2.1.5.
PiperOrigin-RevId:
191763101
Benoit Steiner [Thu, 5 Apr 2018 17:29:15 +0000 (10:29 -0700)]
Inline more functions
PiperOrigin-RevId:
191761109
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