platform/upstream/tensorflow.git
6 years agoReadVariableOp in C for eager (only for the fastpath)
Akshay Modi [Fri, 2 Mar 2018 23:11:13 +0000 (15:11 -0800)]
ReadVariableOp in C for eager (only for the fastpath)

PiperOrigin-RevId: 187676012

6 years agoBegin a library for statistical testing of samplers.
A. Unique TensorFlower [Fri, 2 Mar 2018 23:06:13 +0000 (15:06 -0800)]
Begin a library for statistical testing of samplers.

So far, it consists of one-sample and two-sample equality-of-means
assertions, and power analysis and experimental design for those,
because that's what was needed for testing the LKJ distribution.
If this API shape proves viable, more to come.

PiperOrigin-RevId: 187675337

6 years agoAdd a small helper which is useful for quicker debugging.
A. Unique TensorFlower [Fri, 2 Mar 2018 22:55:26 +0000 (14:55 -0800)]
Add a small helper which is useful for quicker debugging.

PiperOrigin-RevId: 187673654

6 years agoCheckpointable: Have MultiRNNCell add its dependent cells as dependencies
Allen Lavoie [Fri, 2 Mar 2018 22:33:39 +0000 (14:33 -0800)]
Checkpointable: Have MultiRNNCell add its dependent cells as dependencies

PiperOrigin-RevId: 187670464

6 years ago[TF:XLA] Bump open source llvm revision to r326571
Sanjoy Das [Fri, 2 Mar 2018 22:00:07 +0000 (14:00 -0800)]
[TF:XLA] Bump open source llvm revision to r326571

PiperOrigin-RevId: 187665541

6 years agoMake shape inference error messages more consistent.
Eli Bendersky [Fri, 2 Mar 2018 21:37:41 +0000 (13:37 -0800)]
Make shape inference error messages more consistent.

PiperOrigin-RevId: 187662562

6 years agoAdd /learning/tfx/ to the visibility group of tensorflow/compiler/jit.
A. Unique TensorFlower [Fri, 2 Mar 2018 21:32:35 +0000 (13:32 -0800)]
Add /learning/tfx/ to the visibility group of tensorflow/compiler/jit.

PiperOrigin-RevId: 187661883

6 years agoMake tfe.Metrics Checkpointable
Allen Lavoie [Fri, 2 Mar 2018 21:03:42 +0000 (13:03 -0800)]
Make tfe.Metrics Checkpointable

Same principle as Layers: use add_variable to add a dependency on any variables
created. I've ignored the global/local distinction, since it makes more sense
for users to control saving by either adding a dependency on the Metric or not.

PiperOrigin-RevId: 187658433

6 years agoAutomated g4 rollback of changelist 187582263
A. Unique TensorFlower [Fri, 2 Mar 2018 20:58:08 +0000 (12:58 -0800)]
Automated g4 rollback of changelist 187582263

PiperOrigin-RevId: 187657654

6 years agoTFTS: Switch more variables to ResourceVariables to avoid race conditions
Allen Lavoie [Fri, 2 Mar 2018 20:43:22 +0000 (12:43 -0800)]
TFTS: Switch more variables to ResourceVariables to avoid race conditions

The LSTM example test was a bit flaky.

PiperOrigin-RevId: 187655714

6 years agoExclude flaky tests for cuda_on_cpu.
Guangda Lai [Fri, 2 Mar 2018 20:33:40 +0000 (12:33 -0800)]
Exclude flaky tests for cuda_on_cpu.

PiperOrigin-RevId: 187654568

6 years agoFreezeSavedModel support for ResourceVariables.
Suharsh Sivakumar [Fri, 2 Mar 2018 20:25:13 +0000 (12:25 -0800)]
FreezeSavedModel support for ResourceVariables.

PiperOrigin-RevId: 187653676

6 years agoGCS: Extract block cache interface from implementation.
Brennan Saeta [Fri, 2 Mar 2018 20:19:23 +0000 (12:19 -0800)]
GCS: Extract block cache interface from implementation.

PiperOrigin-RevId: 187652953

6 years agoMove the PS_OPS from Estimator to device_setter to benefit more users.
Jianwei Xie [Fri, 2 Mar 2018 19:59:02 +0000 (11:59 -0800)]
Move the PS_OPS from Estimator to device_setter to benefit more users.

PiperOrigin-RevId: 187650283

6 years agoGCS: Update throttle state even if disabled.
Brennan Saeta [Fri, 2 Mar 2018 19:35:53 +0000 (11:35 -0800)]
GCS: Update throttle state even if disabled.

PiperOrigin-RevId: 187647263

6 years agoAdd a configurable preference for scheduling fuller batches sooner to the adaptive...
A. Unique TensorFlower [Fri, 2 Mar 2018 19:18:41 +0000 (11:18 -0800)]
Add a configurable preference for scheduling fuller batches sooner to the adaptive shared batcher.  A full batch will now be scheduled before an older, nearly empty batch as long as the age gap is less than full_batch_scheduling_boost_micros.

This parameter improves latency under heavy load, but too large a value will harm tail latency.

PiperOrigin-RevId: 187644796

6 years ago[XLA] Support while loops and constant in HLO BF16 propagation.
Yuanzhong Xu [Fri, 2 Mar 2018 19:15:14 +0000 (11:15 -0800)]
[XLA] Support while loops and constant in HLO BF16 propagation.

PiperOrigin-RevId: 187644155

6 years agoUpdating toolchain configs for GPU builds
A. Unique TensorFlower [Fri, 2 Mar 2018 19:11:15 +0000 (11:11 -0800)]
Updating toolchain configs for GPU builds

PiperOrigin-RevId: 187643585

6 years agotf.keras: Remove unnecessary "with self.test_sesion()" statements in tests.
Asim Shankar [Fri, 2 Mar 2018 18:30:01 +0000 (10:30 -0800)]
tf.keras: Remove unnecessary "with self.test_sesion()" statements in tests.

The test decorator that runs the test twice (once with eager execution enabled,
once without) doesn't require the block, and this makes the code appear more
eager-friendly (as there is no concept of a session when eager execution is
enabled).

PiperOrigin-RevId: 187637008

6 years agoAdd bfloat16 support for CPU ops.
A. Unique TensorFlower [Fri, 2 Mar 2018 18:05:14 +0000 (10:05 -0800)]
Add bfloat16 support for CPU ops.

PiperOrigin-RevId: 187633511

6 years agoNo need to override _handle_device for variables anymore
Alexandre Passos [Fri, 2 Mar 2018 17:53:54 +0000 (09:53 -0800)]
No need to override _handle_device for variables anymore

PiperOrigin-RevId: 187631915

6 years agoOnly use softfp for android builds to make odroid builds work.
Andrew Selle [Fri, 2 Mar 2018 17:32:36 +0000 (09:32 -0800)]
Only use softfp for android builds to make odroid builds work.

PiperOrigin-RevId: 187629282

6 years agoTake into account the return value mapping of functions
Benoit Steiner [Fri, 2 Mar 2018 17:24:26 +0000 (09:24 -0800)]
Take into account the return value mapping of functions

PiperOrigin-RevId: 187628382

6 years agoAdd a testing utility that can be called from compiled code, and which can mock a...
A. Unique TensorFlower [Fri, 2 Mar 2018 16:45:01 +0000 (08:45 -0800)]
Add a testing utility that can be called from compiled code, and which can mock a TF module for internal tests. Use it in api_test.py

PiperOrigin-RevId: 187624343

6 years agoInternal-only change.
Brennan Saeta [Fri, 2 Mar 2018 16:31:21 +0000 (08:31 -0800)]
Internal-only change.

PiperOrigin-RevId: 187623121

6 years agoEliminate the creation of unnecessary read ops when working with ResourceVariables.
A. Unique TensorFlower [Fri, 2 Mar 2018 16:20:27 +0000 (08:20 -0800)]
Eliminate the creation of unnecessary read ops when working with ResourceVariables.

In particular:
1. Don't create additional read ops when creating a ResourceVariable from a VariableDef proto.
2. Expose the ability to assign a ResourceVariable without reading & returning the new value.
3. Colocating with a ResourceVariable's ".op" property eliminates the creation of additional read ops.
4. Savers can read a variable's value using the _graph_element property, since these reads don't need control dependencies.

This makes the visualization of graphs on TensorBoard much nicer.

PiperOrigin-RevId: 187622122

6 years agoAdd support to convert ResourceVariables of graphs into constants.
A. Unique TensorFlower [Fri, 2 Mar 2018 13:50:55 +0000 (05:50 -0800)]
Add support to convert ResourceVariables of graphs into constants.

This involves a change to the implementation of convert_variables_to_constants.

PiperOrigin-RevId: 187610062

6 years agoJava: Update to 1.6.0
Asim Shankar [Fri, 2 Mar 2018 09:48:59 +0000 (01:48 -0800)]
Java: Update to 1.6.0

PiperOrigin-RevId: 187595636

6 years ago[XLA:GPU] Extract multiplication of complex numbers into a helper function.
A. Unique TensorFlower [Fri, 2 Mar 2018 09:17:19 +0000 (01:17 -0800)]
[XLA:GPU] Extract multiplication of complex numbers into a helper function.

Also add helper functions for getting the real and the imaginary part of a
complex number.

PiperOrigin-RevId: 187593341

6 years agoAutomated g4 rollback of changelist 187563544
Gunhan Gulsoy [Fri, 2 Mar 2018 06:25:41 +0000 (22:25 -0800)]
Automated g4 rollback of changelist 187563544

PiperOrigin-RevId: 187582263

6 years ago[XLA] For graphviz graph dumps that are colored by sharding, choose the fill color...
Peter Hawkins [Fri, 2 Mar 2018 02:49:05 +0000 (18:49 -0800)]
[XLA] For graphviz graph dumps that are colored by sharding, choose the fill color for fusion nodes according to the sharding color rather than always choosing grey.

PiperOrigin-RevId: 187567679

6 years agoGrappler: Change memory optimizer recomputation name prefix into a regexp. This allows
A. Unique TensorFlower [Fri, 2 Mar 2018 02:03:19 +0000 (18:03 -0800)]
Grappler: Change memory optimizer recomputation name prefix into a regexp. This allows
us to match any node names, especially those under different scopes. This still performs
a prefix regexp match, so it is basically backwards compatible.

PiperOrigin-RevId: 187563544

6 years agoAllow replacing attributes in templates.
A. Unique TensorFlower [Fri, 2 Mar 2018 01:58:07 +0000 (17:58 -0800)]
Allow replacing attributes in templates.

PiperOrigin-RevId: 187562864

6 years agoImprove CURL error reporting and handling in the GCS filesystem.
Jonathan Hseu [Fri, 2 Mar 2018 01:53:49 +0000 (17:53 -0800)]
Improve CURL error reporting and handling in the GCS filesystem.

- The main semantics change is that we return immediately if curl_easy_perform doesn't return CURLE_OK. The CURL documentation indicates that it's not ok to fetch info if the curl call failed:
https://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
- LOG errors where we can't return a status. Otherwise return with a status immediately.

PiperOrigin-RevId: 187562481

6 years agoAdd util which creates Python callable with tf.Variables explicitly as
Joshua V. Dillon [Fri, 2 Mar 2018 01:41:41 +0000 (17:41 -0800)]
Add util which creates Python callable with tf.Variables explicitly as
arguments.

PiperOrigin-RevId: 187561302

6 years agoCheckpointable: Make Templates Checkpointable
Allen Lavoie [Fri, 2 Mar 2018 01:37:49 +0000 (17:37 -0800)]
Checkpointable: Make Templates Checkpointable

Uses a variable_creator_scope to hook all variable creation within the
Template. For variables without a more deeply nested Template parent, it adds a
dependency directly. For variables with a Template parent, it adds a dependency
on the sub-Template instead.

The variable scope prefix for the Template itself is stripped. However, any
variable_scopes inside the Template (such as those for Layers) will be included
in the dependency names. So within Templates we essentially have name-based
saving (with the exception of dependencies between Templates themselves, which
use the object-based dependency mechanism). This isn't ideal, but will hopefully
allow migration toward object oriented dependencies more smoothly.

Throws an error on object-based save() if the dependencies don't match
between Checkpointable and .variables.

Includes a semi-related usability fix for the Checkpoint utility; mostly in
unit tests, restore() is not called before save(), which when graph building
was leading to the save counter not being initialized. Fixes that.

PiperOrigin-RevId: 187560911

6 years agoImplement partial constant propagation through IdentityN.
A. Unique TensorFlower [Fri, 2 Mar 2018 01:28:48 +0000 (17:28 -0800)]
Implement partial constant propagation through IdentityN.

PiperOrigin-RevId: 187560028

6 years agoImprove the error message when failing to write events.
Jonathan Hseu [Fri, 2 Mar 2018 01:07:20 +0000 (17:07 -0800)]
Improve the error message when failing to write events.

The current error message looks like:
"Failed to sync 10 to <path>"

PiperOrigin-RevId: 187557623

6 years agoInclude the response upon any error.
Jonathan Hseu [Fri, 2 Mar 2018 01:00:46 +0000 (17:00 -0800)]
Include the response upon any error.

PiperOrigin-RevId: 187556563

6 years agoExpose Checkpointable symbols in tf.contrib.eager/tfe
Allen Lavoie [Fri, 2 Mar 2018 00:52:07 +0000 (16:52 -0800)]
Expose Checkpointable symbols in tf.contrib.eager/tfe

- tfe.Checkpoint
    Utility for grouping Checkpointable objects into training checkpoints, has
    save/restore methods which call CheckpointableSaver.
- tfe.Checkpointable
    For user-defined Checkpointable objects.
- tfe.CheckpointableSaver
    More control over saving/restoring than tfe.Checkpoint.

Only tfe.Checkpoint is required to switch examples over, so I can leave the
others out if there are objections.

PiperOrigin-RevId: 187555472

6 years agoAdds a TensorServingInputReceiver that allows export_savedmodel to pass raw
Karmel Allison [Fri, 2 Mar 2018 00:33:26 +0000 (16:33 -0800)]
Adds a TensorServingInputReceiver that allows export_savedmodel to pass raw
tensors to model functions. Addresses #11674.

PiperOrigin-RevId: 187552824

6 years agoDo not crash if we failed to get the field name.
A. Unique TensorFlower [Fri, 2 Mar 2018 00:06:22 +0000 (16:06 -0800)]
Do not crash if we failed to get the field name.

PiperOrigin-RevId: 187549153

6 years ago[ClusterFLR] Prolong the lifetime of the RunGraphRequest until the call has completed.
Derek Murray [Fri, 2 Mar 2018 00:00:17 +0000 (16:00 -0800)]
[ClusterFLR] Prolong the lifetime of the RunGraphRequest until the call has completed.

Some WorkerService implementations rely on the request object remaining live until the callback is called.

PiperOrigin-RevId: 187548140

6 years agoFix batch_norm_benchmark.
Anna R [Thu, 1 Mar 2018 23:47:28 +0000 (15:47 -0800)]
Fix batch_norm_benchmark.

PiperOrigin-RevId: 187546384

6 years agoA fp16 implemention for ReluGrad.
Xiaoqiang Zheng [Thu, 1 Mar 2018 23:41:11 +0000 (15:41 -0800)]
A fp16 implemention for ReluGrad.
On V100 with Cuda 9, it reduces the average ReluGrad kernel time in Resnet50 from 249.44 us to
175.60 us, a 42% speedup.
On Titan-X Pascal with Cuda 9, it reduces the average ReluGrad kernel time in
Resnet50 from 747.98 us to 509.37 us, a 46.8% improvement.

PiperOrigin-RevId: 187545504

6 years agoCheckpointable: Make Model Checkpointable-compatible
Allen Lavoie [Thu, 1 Mar 2018 23:36:19 +0000 (15:36 -0800)]
Checkpointable: Make Model Checkpointable-compatible

Has Models track Checkpointable dependencies with __setattr__.

Switches subclassed Models to creating ResourceVariables by default, which
removes one source of eager/graph differences. tfe.Network was doing this by
default.

This is necessary for eager/graph agnostic code since tapes currently only work
with ResourceVariables. It's not quite trivial to fix that, and
ResourceVariables by default in more places is a Good Thing anyway. (Not that we
shouldn't also fix the tape code.)

PiperOrigin-RevId: 187544850

6 years agoAdded support for optimization of functions with fixed input/output types
Benoit Steiner [Thu, 1 Mar 2018 23:09:23 +0000 (15:09 -0800)]
Added support for optimization of functions with fixed input/output types

PiperOrigin-RevId: 187540982

6 years agoEagerTensor.device reflects the op's device and not the tensor's memory space.
Alexandre Passos [Thu, 1 Mar 2018 22:49:49 +0000 (14:49 -0800)]
EagerTensor.device reflects the op's device and not the tensor's memory space.

This matches graph mode's behavior.

PiperOrigin-RevId: 187537818

6 years agoExpose native inference latency via TFlite interpreter.
A. Unique TensorFlower [Thu, 1 Mar 2018 22:35:44 +0000 (14:35 -0800)]
Expose native inference latency via TFlite interpreter.

PiperOrigin-RevId: 187535695

6 years agoSet more generated ops to 'hidden'. These ops have not been hidden before but
Anna R [Thu, 1 Mar 2018 22:26:07 +0000 (14:26 -0800)]
Set more generated ops to 'hidden'. These ops have not been hidden before but
instead have corresponding definitions in Python files. We don't want tf_export
decorators for the generated ops since corresponding Python ops have tf_export
decorators instead.

PiperOrigin-RevId: 187534113

6 years agoSampling group embeddings for each child.
Rui Zhao [Thu, 1 Mar 2018 22:15:23 +0000 (14:15 -0800)]
Sampling group embeddings for each child.

PiperOrigin-RevId: 187532388

6 years agoInternal change.
Mingsheng Hong [Thu, 1 Mar 2018 22:15:20 +0000 (14:15 -0800)]
Internal change.

PiperOrigin-RevId: 187532378

6 years agoOptimize training with feature selection by avoiding any computations on the
A. Unique TensorFlower [Thu, 1 Mar 2018 21:43:03 +0000 (13:43 -0800)]
Optimize training with feature selection by avoiding any computations on the
features that are not selected once we have reached our target number of
features.

PiperOrigin-RevId: 187526964

6 years agoFix TensorRT build.
Guangda Lai [Thu, 1 Mar 2018 21:37:16 +0000 (13:37 -0800)]
Fix TensorRT build.

PiperOrigin-RevId: 187526192

6 years agoAdd support for keyword args for dynamically converted functions.
A. Unique TensorFlower [Thu, 1 Mar 2018 21:09:46 +0000 (13:09 -0800)]
Add support for keyword args for dynamically converted functions.

PiperOrigin-RevId: 187522324

6 years agoFix parameter name mismatches in declarations/definitions.
Eli Bendersky [Thu, 1 Mar 2018 21:04:44 +0000 (13:04 -0800)]
Fix parameter name mismatches in declarations/definitions.

Reported by clang-tidy

PiperOrigin-RevId: 187521627

6 years agoCast sequence_length to an integer.
A. Unique TensorFlower [Thu, 1 Mar 2018 21:00:40 +0000 (13:00 -0800)]
Cast sequence_length to an integer.

PiperOrigin-RevId: 187520920

6 years ago[XLA] Fully qualify xla::MakeUnique uses in shape_tree.h. No functional changes.
Peter Hawkins [Thu, 1 Mar 2018 20:56:05 +0000 (12:56 -0800)]
[XLA] Fully qualify xla::MakeUnique uses in shape_tree.h. No functional changes.

PiperOrigin-RevId: 187520283

6 years agoRemove underscore prefix from the following HIDDEN ops: add_sparse_to_tensors_map,
Anna R [Thu, 1 Mar 2018 20:23:37 +0000 (12:23 -0800)]
Remove underscore prefix from the following HIDDEN ops: add_sparse_to_tensors_map,
add_many_sparse_to_tensors_map and take_many_sparse_from_tensors_map.

PiperOrigin-RevId: 187515638

6 years agoTFE: Cache `TensorShape` object for `EagerTensor`'s, for performance.
Akshay Agrawal [Thu, 1 Mar 2018 20:04:59 +0000 (12:04 -0800)]
TFE: Cache `TensorShape` object for `EagerTensor`'s, for performance.

PiperOrigin-RevId: 187512946

6 years agoRefactor training part of the Keras engine.
Francois Chollet [Thu, 1 Mar 2018 19:59:14 +0000 (11:59 -0800)]
Refactor training part of the Keras engine.
Also add support for sample/class weights with eager execution.

Structure before:
engine/training.py
engine/training_eager.py

After:

engine/training.py
engine/training_arrays.py
engine/training_eager.py
engine/training_generator.py
engine/training_utils.py

All new files are about 500 lines long. training.py is now 1700 lines long (about 1000 lines of logic). It was previously 3000 lines long.

PiperOrigin-RevId: 187511923

6 years ago[XLA] Optimize away DynamicUpdateSlice with update parameter with a dimension
Nick Desaulniers [Thu, 1 Mar 2018 19:46:56 +0000 (11:46 -0800)]
[XLA] Optimize away DynamicUpdateSlice with update parameter with a dimension
of zero.

A zero sized update has no effect.

PiperOrigin-RevId: 187510099

6 years agoInternal cleanup.
A. Unique TensorFlower [Thu, 1 Mar 2018 19:16:18 +0000 (11:16 -0800)]
Internal cleanup.

PiperOrigin-RevId: 187504966

6 years agoFixed the typo in RunConfig pydoc.
Jianwei Xie [Thu, 1 Mar 2018 18:38:27 +0000 (10:38 -0800)]
Fixed the typo in RunConfig pydoc.

PiperOrigin-RevId: 187498424

6 years agoRemove old note that no longer applies.
Vijay Vasudevan [Thu, 1 Mar 2018 18:37:45 +0000 (10:37 -0800)]
Remove old note that no longer applies.

PiperOrigin-RevId: 187498339

6 years ago[XLA] Update operation semantics doc for BatchNorm operations
Yunxing Dai [Thu, 1 Mar 2018 18:23:57 +0000 (10:23 -0800)]
[XLA] Update operation semantics doc for BatchNorm operations

- Update formulas for BatchNormGrad. The rendered version of the new formulas can be found here:
https://latexbase.com/d/1ad54ff9-f9d5-4479-beef-156ea26a0632
- Update output table to include the symbol name for each output.
- Fix a typo in BatchNormGrad's input table to correct display the symbol `beta`.

PiperOrigin-RevId: 187496086

6 years agoFixed tf.reduce_sum usage on 2-D tensors.
A. Unique TensorFlower [Thu, 1 Mar 2018 17:52:00 +0000 (09:52 -0800)]
Fixed tf.reduce_sum usage on 2-D tensors.

PiperOrigin-RevId: 187491311

6 years ago[XLA] Don't dump the "contents" of constants with a zero-sized dimension in the HLO...
Justin Lebar [Thu, 1 Mar 2018 17:31:20 +0000 (09:31 -0800)]
[XLA] Don't dump the "contents" of constants with a zero-sized dimension in the HLO graph dumper.

Previously we'd dump e.g. "{ {}, {}, ... }" for an f32[100, 0], which is
just noise.

PiperOrigin-RevId: 187488625

6 years agoKeep track of eager op device for tensor handles. Force-colocates ops using resources...
Alexandre Passos [Thu, 1 Mar 2018 17:27:57 +0000 (09:27 -0800)]
Keep track of eager op device for tensor handles. Force-colocates ops using resources with the resources.

PiperOrigin-RevId: 187488175

6 years agoCorrect struct array initialization syntax.
A. Unique TensorFlower [Thu, 1 Mar 2018 17:10:17 +0000 (09:10 -0800)]
Correct struct array initialization syntax.

PiperOrigin-RevId: 187486332

6 years agoFix TF doc style.
A. Unique TensorFlower [Thu, 1 Mar 2018 16:55:41 +0000 (08:55 -0800)]
Fix TF doc style.

PiperOrigin-RevId: 187484534

6 years ago[XLA] Fix signatures of c_foo functions and add c_any_of.
Justin Lebar [Thu, 1 Mar 2018 16:44:45 +0000 (08:44 -0800)]
[XLA] Fix signatures of c_foo functions and add c_any_of.

Embarrassingly, we were often copying the container in c_foo.  Oops.
This fixes that, and also adds some perfect forwarding that was missing.
It also adds a c_any_of function.

PiperOrigin-RevId: 187483435

6 years agoFix link text
Billy Lamberta [Thu, 1 Mar 2018 16:41:55 +0000 (08:41 -0800)]
Fix link text

PiperOrigin-RevId: 187483166

6 years agoGo: Update generated wrapper functions for TensorFlow ops.
A. Unique TensorFlower [Thu, 1 Mar 2018 14:45:58 +0000 (06:45 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 187471483

6 years agoSupport 0 size literals in Literal::Slice
A. Unique TensorFlower [Thu, 1 Mar 2018 14:25:38 +0000 (06:25 -0800)]
Support 0 size literals in Literal::Slice

PiperOrigin-RevId: 187469563

6 years agoUpdate ops-related pbtxt files.
A. Unique TensorFlower [Thu, 1 Mar 2018 14:18:11 +0000 (06:18 -0800)]
Update ops-related pbtxt files.

PiperOrigin-RevId: 187468981

6 years agoAdd RegexReplace Op that internally calls RE2::Replace.
A. Unique TensorFlower [Thu, 1 Mar 2018 14:03:38 +0000 (06:03 -0800)]
Add RegexReplace Op that internally calls RE2::Replace.

PiperOrigin-RevId: 187467840

6 years agoEnsure folding of batch norms is idempotent.
Suharsh Sivakumar [Thu, 1 Mar 2018 09:44:33 +0000 (01:44 -0800)]
Ensure folding of batch norms is idempotent.

Added more rigorous testing.
(Also fixed a couple of naming nits in the code as I looked through)

PiperOrigin-RevId: 187446976

6 years ago[tf.data] Add optional `shuffle` argument to `Dataset.list_files()`.
Derek Murray [Thu, 1 Mar 2018 06:58:19 +0000 (22:58 -0800)]
[tf.data] Add optional `shuffle` argument to `Dataset.list_files()`.

This option makes it easier to shuffle a set of filenames on each iteration,
and default to true to match the recommended best practices when training on
a large dataset.

PiperOrigin-RevId: 187434282

6 years ago[XLA] Reshape/Transpose should not be bitcast if element type changes.
Yuanzhong Xu [Thu, 1 Mar 2018 05:07:39 +0000 (21:07 -0800)]
[XLA] Reshape/Transpose should not be bitcast if element type changes.

PiperOrigin-RevId: 187427133

6 years agoAdd bfloat16 random_op for CPU.
A. Unique TensorFlower [Thu, 1 Mar 2018 02:59:41 +0000 (18:59 -0800)]
Add bfloat16 random_op for CPU.

PiperOrigin-RevId: 187418131

6 years agoUse half_val instead of int_val to get the bfloat16 tensor value in MakeNdarray.
A. Unique TensorFlower [Thu, 1 Mar 2018 02:56:01 +0000 (18:56 -0800)]
Use half_val instead of int_val to get the bfloat16 tensor value in MakeNdarray.

PiperOrigin-RevId: 187417908

6 years agoUse NodeExecStats's output_slot field to identify output instead of just using proto...
Yuefeng Zhou [Thu, 1 Mar 2018 02:36:57 +0000 (18:36 -0800)]
Use NodeExecStats's output_slot field to identify output instead of just using proto index.

PiperOrigin-RevId: 187416101

6 years agoSet generated ops to hidden if they are not included in TensorFlow Python API. Also...
Anna R [Thu, 1 Mar 2018 01:54:56 +0000 (17:54 -0800)]
Set generated ops to hidden if they are not included in TensorFlow Python API. Also, update endpoints in ApiDef files for a few ops.

PiperOrigin-RevId: 187412039

6 years agoDocs: Update Fixed Point Quantization in performance.
Billy Lamberta [Thu, 1 Mar 2018 01:18:52 +0000 (17:18 -0800)]
Docs: Update Fixed Point Quantization in performance.

PiperOrigin-RevId: 187408106

6 years agoAdding the documentation for building the iOS demo for TensorFlow Lite.
A. Unique TensorFlower [Thu, 1 Mar 2018 00:41:17 +0000 (16:41 -0800)]
Adding the documentation for building the iOS demo for TensorFlow Lite.

PiperOrigin-RevId: 187403346

6 years agoGCS: HTTP error code 308 retries during upload. Previously, it would only permit...
Jonathan Hseu [Thu, 1 Mar 2018 00:22:42 +0000 (16:22 -0800)]
GCS: HTTP error code 308 retries during upload. Previously, it would only permit 308 when getting the status of an upload.

This matches the behavior of the official library:
https://github.com/google/apitools/blob/master/apitools/base/py/transfer.py#L925

And the general description here:
https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload

PiperOrigin-RevId: 187400843

6 years agoRemove record_gradient param from benchmark function
Akshay Modi [Wed, 28 Feb 2018 23:59:33 +0000 (15:59 -0800)]
Remove record_gradient param from benchmark function

PiperOrigin-RevId: 187397610

6 years agoAdd all_files target to gcs_smoke_test BUILD file.
Michael Case [Wed, 28 Feb 2018 23:51:18 +0000 (15:51 -0800)]
Add all_files target to gcs_smoke_test BUILD file.

PiperOrigin-RevId: 187396477

6 years agoUpdate a few tests to work with Grappler constant folding.
A. Unique TensorFlower [Wed, 28 Feb 2018 23:47:01 +0000 (15:47 -0800)]
Update a few tests to work with Grappler constant folding.

PiperOrigin-RevId: 187395886

6 years agoPropagate NaNs for floating point min/max operations.
A. Unique TensorFlower [Wed, 28 Feb 2018 23:44:55 +0000 (15:44 -0800)]
Propagate NaNs for floating point min/max operations.

PiperOrigin-RevId: 187395444

6 years agoExclude more tests for cuda_on_cpu project.
Guangda Lai [Wed, 28 Feb 2018 23:36:39 +0000 (15:36 -0800)]
Exclude more tests for cuda_on_cpu project.

PiperOrigin-RevId: 187394209

6 years agokeras: Avoid unneccesary call to .call() when building models with subclassing.
Asim Shankar [Wed, 28 Feb 2018 23:18:29 +0000 (15:18 -0800)]
keras: Avoid unneccesary call to .call() when building models with subclassing.

This fixes a regression in the defun microbenchmarks
(ResNet50Benchmarks.eager_train_with_defun_gpu_batch_32_channels_first etc.)
in tensorflow/contrib/eager/python/examples/resnet50/resnet50_test.py
seen after https://github.com/tensorflow/tensorflow/commit/9a84277be2cb8233c5c14270db6fcdff31ab4d93
(which embeds a model in model)

Without this change, converting a model call to a graph function using
something like:
model.call = tfe.defun(model.call)
could result in redundant nodes being added to the graph function
as the model._set_inputs() call would invoke model.call() again.

PiperOrigin-RevId: 187391494

6 years agoRemove unnecessary stack operations from graphs. This change implements the first...
A. Unique TensorFlower [Wed, 28 Feb 2018 22:55:50 +0000 (14:55 -0800)]
Remove unnecessary stack operations from graphs. This change implements the first such optimization that removes stack pushes without corresponding pops.

PiperOrigin-RevId: 187387794

6 years agoRemoving underscore prefixes from hidden generated Python functions.
Anna R [Wed, 28 Feb 2018 22:50:02 +0000 (14:50 -0800)]
Removing underscore prefixes from hidden generated Python functions.

PiperOrigin-RevId: 187386941

6 years agoPackage c_api_experimental.h in binary release distributions.
Richard Wei [Wed, 28 Feb 2018 22:43:39 +0000 (14:43 -0800)]
Package c_api_experimental.h in binary release distributions.

PiperOrigin-RevId: 187385913

6 years ago[tf.data] Add `num_parallel_reads` argument to `tf.data.TFRecordDataset`.
Derek Murray [Wed, 28 Feb 2018 22:36:09 +0000 (14:36 -0800)]
[tf.data] Add `num_parallel_reads` argument to `tf.data.TFRecordDataset`.

This provides a convenient way to use the `tf.contrib.data.parallel_interleave()` idiom for reading multiple TFRecord files in parallel. In addition, the `filenames` argument to the initializer can now be a `tf.data.Dataset` of strings, which makes it easier to use `TFRecordDataset` with `Dataset.list_files()`.

PiperOrigin-RevId: 187384812

6 years agoMake fuse_op handle loops in the graph
A. Unique TensorFlower [Wed, 28 Feb 2018 22:22:07 +0000 (14:22 -0800)]
Make fuse_op handle loops in the graph

The current implementation of fuse_op does not work when there are loops in the tensorflow graph.

PiperOrigin-RevId: 187382720

6 years agoFix Markdown syntax of bulleted list.
A. Unique TensorFlower [Wed, 28 Feb 2018 21:58:18 +0000 (13:58 -0800)]
Fix Markdown syntax of bulleted list.

PiperOrigin-RevId: 187378753

6 years agoCheckpointable: Handle Optimizer non-slot variables
Allen Lavoie [Wed, 28 Feb 2018 21:55:35 +0000 (13:55 -0800)]
Checkpointable: Handle Optimizer non-slot variables

Overrides the Checkpointable dependency-gathering logic to key Optimizer dependencies to the current graph.

Moves my Checkpointable Adam prototype out of contrib.

Right now there is no check that loading all happens in the same graph. This would be easy enough to do (save a Graph ID with the _Checkpoint object), but it's not clear to me that it's useful; doing deferred restoration in whichever graph the variable is created in seems reasonable. (Let me know if you disagree)

PiperOrigin-RevId: 187378372