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
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
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
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
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
Eli Bendersky [Fri, 2 Mar 2018 21:37:41 +0000 (13:37 -0800)]
Make shape inference error messages more consistent.
PiperOrigin-RevId:
187662562
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
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
A. Unique TensorFlower [Fri, 2 Mar 2018 20:58:08 +0000 (12:58 -0800)]
Automated g4 rollback of changelist
187582263
PiperOrigin-RevId:
187657654
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
Guangda Lai [Fri, 2 Mar 2018 20:33:40 +0000 (12:33 -0800)]
Exclude flaky tests for cuda_on_cpu.
PiperOrigin-RevId:
187654568
Suharsh Sivakumar [Fri, 2 Mar 2018 20:25:13 +0000 (12:25 -0800)]
FreezeSavedModel support for ResourceVariables.
PiperOrigin-RevId:
187653676
Brennan Saeta [Fri, 2 Mar 2018 20:19:23 +0000 (12:19 -0800)]
GCS: Extract block cache interface from implementation.
PiperOrigin-RevId:
187652953
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
Brennan Saeta [Fri, 2 Mar 2018 19:35:53 +0000 (11:35 -0800)]
GCS: Update throttle state even if disabled.
PiperOrigin-RevId:
187647263
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
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