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
A. Unique TensorFlower [Fri, 2 Mar 2018 19:11:15 +0000 (11:11 -0800)]
Updating toolchain configs for GPU builds
PiperOrigin-RevId:
187643585
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
A. Unique TensorFlower [Fri, 2 Mar 2018 18:05:14 +0000 (10:05 -0800)]
Add bfloat16 support for CPU ops.
PiperOrigin-RevId:
187633511
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
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
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
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
Brennan Saeta [Fri, 2 Mar 2018 16:31:21 +0000 (08:31 -0800)]
Internal-only change.
PiperOrigin-RevId:
187623121
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
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
Asim Shankar [Fri, 2 Mar 2018 09:48:59 +0000 (01:48 -0800)]
Java: Update to 1.6.0
PiperOrigin-RevId:
187595636
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
Gunhan Gulsoy [Fri, 2 Mar 2018 06:25:41 +0000 (22:25 -0800)]
Automated g4 rollback of changelist
187563544
PiperOrigin-RevId:
187582263
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
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
A. Unique TensorFlower [Fri, 2 Mar 2018 01:58:07 +0000 (17:58 -0800)]
Allow replacing attributes in templates.
PiperOrigin-RevId:
187562864
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
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
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
A. Unique TensorFlower [Fri, 2 Mar 2018 01:28:48 +0000 (17:28 -0800)]
Implement partial constant propagation through IdentityN.
PiperOrigin-RevId:
187560028
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
Jonathan Hseu [Fri, 2 Mar 2018 01:00:46 +0000 (17:00 -0800)]
Include the response upon any error.
PiperOrigin-RevId:
187556563
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
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
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
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
Anna R [Thu, 1 Mar 2018 23:47:28 +0000 (15:47 -0800)]
Fix batch_norm_benchmark.
PiperOrigin-RevId:
187546384
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
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
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
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
A. Unique TensorFlower [Thu, 1 Mar 2018 22:35:44 +0000 (14:35 -0800)]
Expose native inference latency via TFlite interpreter.
PiperOrigin-RevId:
187535695
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
Rui Zhao [Thu, 1 Mar 2018 22:15:23 +0000 (14:15 -0800)]
Sampling group embeddings for each child.
PiperOrigin-RevId:
187532388
Mingsheng Hong [Thu, 1 Mar 2018 22:15:20 +0000 (14:15 -0800)]
Internal change.
PiperOrigin-RevId:
187532378
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
Guangda Lai [Thu, 1 Mar 2018 21:37:16 +0000 (13:37 -0800)]
Fix TensorRT build.
PiperOrigin-RevId:
187526192
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
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
A. Unique TensorFlower [Thu, 1 Mar 2018 21:00:40 +0000 (13:00 -0800)]
Cast sequence_length to an integer.
PiperOrigin-RevId:
187520920
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
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
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
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
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
A. Unique TensorFlower [Thu, 1 Mar 2018 19:16:18 +0000 (11:16 -0800)]
Internal cleanup.
PiperOrigin-RevId:
187504966
Jianwei Xie [Thu, 1 Mar 2018 18:38:27 +0000 (10:38 -0800)]
Fixed the typo in RunConfig pydoc.
PiperOrigin-RevId:
187498424
Vijay Vasudevan [Thu, 1 Mar 2018 18:37:45 +0000 (10:37 -0800)]
Remove old note that no longer applies.
PiperOrigin-RevId:
187498339
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
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
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
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
A. Unique TensorFlower [Thu, 1 Mar 2018 17:10:17 +0000 (09:10 -0800)]
Correct struct array initialization syntax.
PiperOrigin-RevId:
187486332
A. Unique TensorFlower [Thu, 1 Mar 2018 16:55:41 +0000 (08:55 -0800)]
Fix TF doc style.
PiperOrigin-RevId:
187484534
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
Billy Lamberta [Thu, 1 Mar 2018 16:41:55 +0000 (08:41 -0800)]
Fix link text
PiperOrigin-RevId:
187483166
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
A. Unique TensorFlower [Thu, 1 Mar 2018 14:25:38 +0000 (06:25 -0800)]
Support 0 size literals in Literal::Slice
PiperOrigin-RevId:
187469563
A. Unique TensorFlower [Thu, 1 Mar 2018 14:18:11 +0000 (06:18 -0800)]
Update ops-related pbtxt files.
PiperOrigin-RevId:
187468981
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
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
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
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
A. Unique TensorFlower [Thu, 1 Mar 2018 02:59:41 +0000 (18:59 -0800)]
Add bfloat16 random_op for CPU.
PiperOrigin-RevId:
187418131
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
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
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
Billy Lamberta [Thu, 1 Mar 2018 01:18:52 +0000 (17:18 -0800)]
Docs: Update Fixed Point Quantization in performance.
PiperOrigin-RevId:
187408106
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
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
Akshay Modi [Wed, 28 Feb 2018 23:59:33 +0000 (15:59 -0800)]
Remove record_gradient param from benchmark function
PiperOrigin-RevId:
187397610
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
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
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
Guangda Lai [Wed, 28 Feb 2018 23:36:39 +0000 (15:36 -0800)]
Exclude more tests for cuda_on_cpu project.
PiperOrigin-RevId:
187394209
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
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
Anna R [Wed, 28 Feb 2018 22:50:02 +0000 (14:50 -0800)]
Removing underscore prefixes from hidden generated Python functions.
PiperOrigin-RevId:
187386941
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
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
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
A. Unique TensorFlower [Wed, 28 Feb 2018 21:58:18 +0000 (13:58 -0800)]
Fix Markdown syntax of bulleted list.
PiperOrigin-RevId:
187378753
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
Alexandre Passos [Wed, 28 Feb 2018 21:48:38 +0000 (13:48 -0800)]
Bypasses warnings in eager mode for converting indexed slices to tensors.
PiperOrigin-RevId:
187377370
Kay Zhu [Wed, 28 Feb 2018 21:43:42 +0000 (13:43 -0800)]
[XLA] Add a HLO simplifier pass to fold Conditional(constant_predicate,
true_computation, false_computation) to Call(predicated_computation) and
finally inlined computation.
PiperOrigin-RevId:
187376657
Sanjoy Das [Wed, 28 Feb 2018 21:19:01 +0000 (13:19 -0800)]
[TF:XLA] Bump open source llvm revision to r326313
PiperOrigin-RevId:
187373178
Eli Bendersky [Wed, 28 Feb 2018 21:17:06 +0000 (13:17 -0800)]
[XLA] Fix up some error messages to conform to XLA's error message style.
PiperOrigin-RevId:
187372860
A. Unique TensorFlower [Wed, 28 Feb 2018 21:02:07 +0000 (13:02 -0800)]
Factor out the LstmBatchStep for the various LSTM Ops.
PiperOrigin-RevId:
187370622
Akshay Agrawal [Wed, 28 Feb 2018 21:00:30 +0000 (13:00 -0800)]
Lift ops to the global graph if all graphs are building functions
This change ensures that, when all graphs are building functions, `init_scope`
lifts ops into the global graph.
PiperOrigin-RevId:
187370367
Bixia Zheng [Wed, 28 Feb 2018 20:55:34 +0000 (12:55 -0800)]
[XLA] FP16 Dot support for the CPU and GPU backends.
Extend the stream interface ThenBlasGemmWithAlgorithm to support F16 matrix
multiplication with computation type FP32.
Extend the stream executor interface DoBlasGemmWithAlgorithm to support F16
GEMM with computation type FP32.
Extend the CPU IR emitter to handle F16 Dot instruction, and add F16 matrix
multiplication implementation to the CPU runtime.
Extend the GPU backend to handle FP16 GEMM Thunk.
Replicate the existing matrix multiplication test cases in
matrix_ops_simple_test and dot_operation_test for FP16.
RELNOTES:
PiperOrigin-RevId:
187369731
Yuefeng Zhou [Wed, 28 Feb 2018 20:14:03 +0000 (12:14 -0800)]
In Grappler item builder, support inferring fetch nodes from siganture defs.
PiperOrigin-RevId:
187364078
Yuanzhong Xu [Wed, 28 Feb 2018 20:13:22 +0000 (12:13 -0800)]
[XLA] Fix BF16 normalization to avoid the pass adding new unsupported mixed precision.
Resolve unsupported input/output first, then resolve unsupported mixed
precision.
PiperOrigin-RevId:
187363969
Gunhan Gulsoy [Wed, 28 Feb 2018 19:50:17 +0000 (11:50 -0800)]
Disable GRPC io utils test.
PiperOrigin-RevId:
187360410
Sanjoy Das [Wed, 28 Feb 2018 19:07:10 +0000 (11:07 -0800)]
Introduce a ShapeUtil::ForEachIndexWithStatus, change index type to ArraySlice
This is not used yet, but I need it in a later CL. I don't specifically need
the argument to be an ArraySlice, but it seemed cleaner than taking a const ref
to a vector.
No functional change intended.
PiperOrigin-RevId:
187352376
Shivani Agrawal [Wed, 28 Feb 2018 18:43:36 +0000 (10:43 -0800)]
[eager] Typo correction, there is no method `tf.data.Dataset.make_iterator`.
PiperOrigin-RevId:
187347001
Akshay Agrawal [Wed, 28 Feb 2018 17:59:49 +0000 (09:59 -0800)]
BUILD file visibility change.
END_PUBLIC
RELNOTES: n/a
BEGIN_PUBLIC
Automated g4 rollback of changelist
187222292
PiperOrigin-RevId:
187339609
A. Unique TensorFlower [Wed, 28 Feb 2018 17:54:19 +0000 (09:54 -0800)]
Move Roadmap to a more prominent place.
PiperOrigin-RevId:
187338696
A. Unique TensorFlower [Wed, 28 Feb 2018 15:40:08 +0000 (07:40 -0800)]
Pass 'import_scope' when calling from_control_flow_context_def.
PiperOrigin-RevId:
187323218
Dan Ringwalt [Wed, 28 Feb 2018 15:22:02 +0000 (07:22 -0800)]
Replace deprecated _control_inputs with remove/add to avoid warnings.
PiperOrigin-RevId:
187321605