A. Unique TensorFlower [Wed, 21 Feb 2018 22:14:42 +0000 (14:14 -0800)]
Make CPUAllocator VisitableAllocator, for better RDMA networking.
PiperOrigin-RevId:
186518037
Skye Wanderman-Milne [Wed, 21 Feb 2018 22:07:48 +0000 (14:07 -0800)]
Make with_c_api a no-op if the C API is already enabled.
This will help transition to turning the C API on by default by
preventing new tests from breaking.
PiperOrigin-RevId:
186516976
Sanjoy Das [Wed, 21 Feb 2018 21:33:07 +0000 (13:33 -0800)]
[XLA:CPU] Don't hard-code lane width in horizontal sum routine
The bulk of change is actually in dot_operation_test to get it to the point
where it would have caught this bug. I made the following changes:
- Moved some tests under a "no layout assignment pass runs" mode. This lets
us test the layout specific aspects of the dot operation more thoroughly.
Unfortunately not many tests can be run in this mode -- for instance dot
tests that calls into Eigen won't work here because they need a specific
layout assignment for correctness. Tests that runs with layout assignment
enabled but with non-default layouts are essentially integration tests that
check that the layout assignment pass + the dot lowering work correctly.
- Changed the matrix-vector dot tests to check all 4 layouts and the
matrix-vector Ax+b fusion tests to check all 8 layouts.
- Duplicated some of the F32 tests to run for F64.
- Added some new test shapes.
PiperOrigin-RevId:
186511289
Jeremy Lau [Wed, 21 Feb 2018 21:28:23 +0000 (13:28 -0800)]
Internal change.
PiperOrigin-RevId:
186510594
A. Unique TensorFlower [Wed, 21 Feb 2018 21:25:47 +0000 (13:25 -0800)]
Activity analysis annotation on FunctionDef
PiperOrigin-RevId:
186510035
A. Unique TensorFlower [Wed, 21 Feb 2018 21:24:35 +0000 (13:24 -0800)]
In VirtualScheduler, if there is a Recv without a Send, handle the Recv as an
initially ready node.
PiperOrigin-RevId:
186509851
A. Unique TensorFlower [Wed, 21 Feb 2018 21:20:58 +0000 (13:20 -0800)]
K-FAC: LM algorithm for adapting damping, Example to train MNIST autoencoder model using variable size training data and update damping parameter, add KFACOptimizer.{update_damping}.
PiperOrigin-RevId:
186509305
A. Unique TensorFlower [Wed, 21 Feb 2018 21:16:52 +0000 (13:16 -0800)]
Made tf.HParams compatible with https://github.com/google/pytype.
PiperOrigin-RevId:
186508693
Skye Wanderman-Milne [Wed, 21 Feb 2018 21:14:27 +0000 (13:14 -0800)]
Add test that checks all core ops have shape functions.
This is meant to be a replacement for the current Python code that
checks that core ops have shape functions registered. Some ops were
missing a shape function, so I added UnknownShape.
This also adds an OpRegistry::GetOpRegistrationData() method for
fetching all the shape functions.
PiperOrigin-RevId:
186508356
A. Unique TensorFlower [Wed, 21 Feb 2018 20:57:26 +0000 (12:57 -0800)]
Change node to Identity operation for shuffle/reverse operations on scalar values, but not
directly removing those nodes from the graph.
PiperOrigin-RevId:
186505857
Suharsh Sivakumar [Wed, 21 Feb 2018 20:57:05 +0000 (12:57 -0800)]
Ensure that final layer of networks (which doesn't have an activation) get correctly quantized.
PiperOrigin-RevId:
186505814
A. Unique TensorFlower [Wed, 21 Feb 2018 20:42:51 +0000 (12:42 -0800)]
Fix a bug in tf.metrics.mean_tensor for case that the weights are very small.
We have renamed metrics_test.MeanTensorTest.testWeighted1d as metrics_test.MeanTensorTest.testBinaryWeighted1d, since the weights on the instances are zeros and ones.
We have added a new metrics_test.MeanTensorTest.testWeighted1d that has small weights. It was failing for the previous implementation, but passes now.
Now the code for mean_tensor() and mean() now use the same _safe_div method. Previously, mean_tensor() used a different means to ensure that we don't divide by zero. This set the denominator to max(1., sum(weights)), which was inaccurate when sum(weights) is non-zero, but less than one.
PiperOrigin-RevId:
186503714
A. Unique TensorFlower [Wed, 21 Feb 2018 20:36:25 +0000 (12:36 -0800)]
Allow non-integer values for Poisson CDF/PMF.
PiperOrigin-RevId:
186502845
Francois Chollet [Wed, 21 Feb 2018 20:33:41 +0000 (12:33 -0800)]
Merge tf.layers.GraphNetwork into tf.keras.Network and remove it.
PiperOrigin-RevId:
186502476
Asim Shankar [Wed, 21 Feb 2018 20:32:52 +0000 (12:32 -0800)]
eager/mnist: Point to the example in tensorflow/models instead.
PiperOrigin-RevId:
186502375
Asim Shankar [Wed, 21 Feb 2018 20:31:27 +0000 (12:31 -0800)]
framework/ops.py: Stricter check for use of the C API for graph construction.
Fixes #16913
Didn't add an explicit test for this since arguably use of the C API for graph
construction will soon become the default, so I figured testing that
tfe.defun's use of _use_c_api_hack() would only add code that should be deleted
soon.
PiperOrigin-RevId:
186502140
A. Unique TensorFlower [Wed, 21 Feb 2018 20:13:48 +0000 (12:13 -0800)]
Automatically add a tf.name_scope of the function or class name as the first line of each function. For functions inside a class, the class name is also prepended to the name scope. Also adds a decorator param to turn this off (it defaults to True.)
PiperOrigin-RevId:
186499660
A. Unique TensorFlower [Wed, 21 Feb 2018 20:00:04 +0000 (12:00 -0800)]
Adds inverse_link_fn argument in regression_head. This is used in generalized regression.
PiperOrigin-RevId:
186497656
A. Unique TensorFlower [Wed, 21 Feb 2018 19:59:32 +0000 (11:59 -0800)]
Add bidirectional sequence LSTM to TFLite Ops.
PiperOrigin-RevId:
186497571
A. Unique TensorFlower [Wed, 21 Feb 2018 19:50:59 +0000 (11:50 -0800)]
Adding support for dilated convolution.
PiperOrigin-RevId:
186496353
Benoit Steiner [Wed, 21 Feb 2018 19:40:05 +0000 (11:40 -0800)]
Temporarily disabled part of a test that fails on MacOS
PiperOrigin-RevId:
186494795
Alexandre Passos [Wed, 21 Feb 2018 19:39:43 +0000 (11:39 -0800)]
Fast-path for losses code.
PiperOrigin-RevId:
186494736
Jacques Pienaar [Wed, 21 Feb 2018 19:37:13 +0000 (11:37 -0800)]
Add S64 add/subtract test.
PiperOrigin-RevId:
186494344
Mark Daoust [Wed, 21 Feb 2018 19:06:22 +0000 (11:06 -0800)]
Add link to SECURITY.md from doc describing model loading.
PiperOrigin-RevId:
186489041
Jeremy Lau [Wed, 21 Feb 2018 18:57:51 +0000 (10:57 -0800)]
Internal change.
PiperOrigin-RevId:
186487354
Justin Lebar [Wed, 21 Feb 2018 18:29:47 +0000 (10:29 -0800)]
[XLA] Add FindInstruction and FindComputation helpers to HloTestBase.
These are useful for tests that create HLOs and then search for a
particular computation/instruction.
While we're at it, add a c_find_if utility and fix up the (lack of)
perfect forwarding in some of our other c_foo utilities.
PiperOrigin-RevId:
186482111
Jeffrey A. Dean [Wed, 21 Feb 2018 17:47:58 +0000 (09:47 -0800)]
Create fast path for common case of finite values in CheckNumericsOp
PiperOrigin-RevId:
186474851
A. Unique TensorFlower [Wed, 21 Feb 2018 17:35:44 +0000 (09:35 -0800)]
Internal Change
PiperOrigin-RevId:
186472818
A. Unique TensorFlower [Wed, 21 Feb 2018 17:33:41 +0000 (09:33 -0800)]
Internal updates.
PiperOrigin-RevId:
186472487
Benoit Steiner [Wed, 21 Feb 2018 17:09:24 +0000 (09:09 -0800)]
In the arithmetic optimizer enqueue the fanout of optimized nodes in a
deterministic order
PiperOrigin-RevId:
186468633
Benoit Steiner [Wed, 21 Feb 2018 17:08:05 +0000 (09:08 -0800)]
memory_size should be expressed in Bytes, but port::AvailableRam() returns kB.
PiperOrigin-RevId:
186468461
Mark Daoust [Wed, 21 Feb 2018 17:04:00 +0000 (09:04 -0800)]
fix not_covered anchor
PiperOrigin-RevId:
186467828
A. Unique TensorFlower [Wed, 21 Feb 2018 16:41:26 +0000 (08:41 -0800)]
Modify optimized quantized LSTM implementation so that it only needs one instantiation of fixed-point Tanh, for 3 integer bits, regardless of the value of StateIntegerBits
PiperOrigin-RevId:
186464604
A. Unique TensorFlower [Wed, 21 Feb 2018 16:13:01 +0000 (08:13 -0800)]
Adding some beginner advice to the README.
PiperOrigin-RevId:
186461145
A. Unique TensorFlower [Wed, 21 Feb 2018 14:14:29 +0000 (06:14 -0800)]
Minor corrections in feature_columns doc
PiperOrigin-RevId:
186449350
Sanjoy Das [Wed, 21 Feb 2018 07:12:57 +0000 (23:12 -0800)]
[XLA:CPU] Add FP32<->FP16 conversion routines
LLVM generates calls to these functions when lowering some fp16 operations on
certain architectures. These symbols are defined in compiler-rt but we don't
always link to compiler-rt so these symbols are sometimes absent.
This change adds __gnu_f2h_ieee and __gnu_h2f_ieee as weak symbols. Making them
weak ensures that we are able to build successfully even when linking to a
compiler-rt that defines these symbols.
PiperOrigin-RevId:
186416684
Suharsh Sivakumar [Wed, 21 Feb 2018 05:41:02 +0000 (21:41 -0800)]
Add a small test to ensure that rewrites are idempotent.
PiperOrigin-RevId:
186410356
A. Unique TensorFlower [Wed, 21 Feb 2018 04:46:26 +0000 (20:46 -0800)]
Clarify the shape of convolution arguments.
Replace n-d with size n, as n-d often means rank n, while the arguments here are arrays of size n.
PiperOrigin-RevId:
186406143
Yu-Cheng Ling [Wed, 21 Feb 2018 04:34:05 +0000 (20:34 -0800)]
TFLite: Define a DELEGATE op type.
PiperOrigin-RevId:
186405366
Yu-Cheng Ling [Wed, 21 Feb 2018 03:55:06 +0000 (19:55 -0800)]
TFLite Conv2D: Create temporary tensors in Prepare phase.
PiperOrigin-RevId:
186402268
Jacques Pienaar [Wed, 21 Feb 2018 02:56:07 +0000 (18:56 -0800)]
[TF2XLA] Account for input edge of predicate.
PiperOrigin-RevId:
186397549
Benoit Steiner [Wed, 21 Feb 2018 02:17:46 +0000 (18:17 -0800)]
Make sure the nodes that are refered to by a collection are preserved during an
optimization
PiperOrigin-RevId:
186394467
Dustin Tran [Wed, 21 Feb 2018 02:06:02 +0000 (18:06 -0800)]
Automated g4 rollback of changelist
186260342
PiperOrigin-RevId:
186393300
A. Unique TensorFlower [Wed, 21 Feb 2018 01:40:17 +0000 (17:40 -0800)]
Update decorators transformer with additional clarifications in the tests and handling of the more rare cases when multiple decorators are applied together, as well as when decorators are used with local functions.
PiperOrigin-RevId:
186390564
A. Unique TensorFlower [Wed, 21 Feb 2018 01:40:06 +0000 (17:40 -0800)]
Add a utility that generalizes getcallargs to non-function callables like constructors and __call__ operators.
PiperOrigin-RevId:
186390545
Yu-Cheng Ling [Wed, 21 Feb 2018 01:33:16 +0000 (17:33 -0800)]
Fill the new `custom_initial_data(_size)?` fields in TfLiteNode.
PiperOrigin-RevId:
186389819
Sanjoy Das [Wed, 21 Feb 2018 00:13:11 +0000 (16:13 -0800)]
[XLA] Emit saturating shifts on CPU, GPU and interpreter
With this change shifting out >= bitwidth for shift left and logical shift right
produces 0, and shifting out >= bitwidth for arithmetic shift right produces -1
if the LHS is negative and 0 otherwise. Before this we were invoking undefined
behavior for these out-of-bounds shifts in LLVM and the HLO evaluator.
PiperOrigin-RevId:
186379160
A. Unique TensorFlower [Tue, 20 Feb 2018 23:08:09 +0000 (15:08 -0800)]
Shorten grappler per-node report by default with previous behavior behind --verbose.
PiperOrigin-RevId:
186369380
A. Unique TensorFlower [Tue, 20 Feb 2018 22:46:43 +0000 (14:46 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId:
186365924
Yu-Cheng Ling [Tue, 20 Feb 2018 22:31:00 +0000 (14:31 -0800)]
Fix a typo in the comment (TFLite)
PiperOrigin-RevId:
186363449
Suharsh Sivakumar [Tue, 20 Feb 2018 22:27:04 +0000 (14:27 -0800)]
Update contrib/quantize docs to add description of how to use rewrites.
PiperOrigin-RevId:
186362791
A. Unique TensorFlower [Tue, 20 Feb 2018 22:18:23 +0000 (14:18 -0800)]
Update ops-related pbtxt files.
PiperOrigin-RevId:
186361455
Derek Murray [Tue, 20 Feb 2018 22:11:35 +0000 (14:11 -0800)]
[tf.data] Fix memory leak when not all elements of a `Dataset.from_generator()` are consumed.
This change introduces a new C++ Dataset implementation
(`GeneratorDataset`) that takes three functions:
1. An initialization function that is called before the first use.
2. A "get next" function that is called to produce the elements, until a call
raises the OutOfRange error.
3. A finalization function that is called before the iterator is destroyed.
Previously, the generator state would only be cleaned up if the caller
consumed *every* element of the generator. In the new version, the
finalization function ensures that the Python-side state of the
generator is released regardless of how the iterator is disposed.
Fixes #16163.
PiperOrigin-RevId:
186360401
A. Unique TensorFlower [Tue, 20 Feb 2018 22:09:55 +0000 (14:09 -0800)]
Fix a memory corruption issue in boosted trees as the iterators become invalid after an Add.
PiperOrigin-RevId:
186360144
Suharsh Sivakumar [Tue, 20 Feb 2018 21:58:28 +0000 (13:58 -0800)]
Add documentation to contrib/quantization to reduce confusion with contrib/quantize.
PiperOrigin-RevId:
186358131
A. Unique TensorFlower [Tue, 20 Feb 2018 21:57:01 +0000 (13:57 -0800)]
Basic LogSoftmax support
PiperOrigin-RevId:
186357933
A. Unique TensorFlower [Tue, 20 Feb 2018 21:52:53 +0000 (13:52 -0800)]
Add an inspection helper module for related routines not found in the core inspect.
PiperOrigin-RevId:
186357270
Benoit Steiner [Tue, 20 Feb 2018 21:47:01 +0000 (13:47 -0800)]
Turn on swapping heuristic by default to better manage memory usage on GPU
PiperOrigin-RevId:
186356358
Asim Shankar [Tue, 20 Feb 2018 21:36:15 +0000 (13:36 -0800)]
Java: Fix #17130
PiperOrigin-RevId:
186354700
Peter Hawkins [Tue, 20 Feb 2018 21:29:53 +0000 (13:29 -0800)]
[TF:XLA] Tiny fixes.
Add missing compile-time constant input annotation to BatchToSpaceND.
Make definition of Acosh slightly more accurate. Addition/subtraction of numbers with similar magnitudes is more accurate, and x^2 likely will be further from 1.0 than x due to the doubling of the exponent caused by squaring.
PiperOrigin-RevId:
186353472
Igor Ganichev [Tue, 20 Feb 2018 21:23:15 +0000 (13:23 -0800)]
Clarify GpuDeviceInfo struct
PiperOrigin-RevId:
186352333
A. Unique TensorFlower [Tue, 20 Feb 2018 21:07:43 +0000 (13:07 -0800)]
Adding Transpose to optimized_ops.
PiperOrigin-RevId:
186350064
Ian Langmore [Tue, 20 Feb 2018 21:04:51 +0000 (13:04 -0800)]
DOCFIX: hmc.sample_chain kwarg num_steps_between_results docstring seemed to
indicate a different type of thinning than what is actually going on.
PiperOrigin-RevId:
186349630
A. Unique TensorFlower [Tue, 20 Feb 2018 21:00:26 +0000 (13:00 -0800)]
Simplify and enforce diagnostic ArrayDataType strings.
PiperOrigin-RevId:
186348846
A. Unique TensorFlower [Tue, 20 Feb 2018 20:46:14 +0000 (12:46 -0800)]
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId:
186346967
A. Unique TensorFlower [Tue, 20 Feb 2018 20:25:33 +0000 (12:25 -0800)]
More BcastAdd benchmarks in cwise_ops_test.cc
PiperOrigin-RevId:
186344120
Francois Chollet [Tue, 20 Feb 2018 20:19:02 +0000 (12:19 -0800)]
Move the `maxout` layer implementation to contrib.
In September 2017, a contributor from GitHub added a MaxOut layer in tf.layers.
It was never added to the public API. Instead, it was only listed as part of the
API of tf.contrib.layers. This CL moves it out of tf.layers.
PiperOrigin-RevId:
186343115
Chris Ying [Tue, 20 Feb 2018 20:16:49 +0000 (12:16 -0800)]
Add Timestamp Op which returns the current timestamp during graph execution
PiperOrigin-RevId:
186342760
Sanjoy Das [Tue, 20 Feb 2018 19:55:57 +0000 (11:55 -0800)]
[TF:XLA] Bump open source llvm revision to r325553
PiperOrigin-RevId:
186339171
A. Unique TensorFlower [Tue, 20 Feb 2018 19:40:04 +0000 (11:40 -0800)]
Temporarily disable flaky test.
PiperOrigin-RevId:
186336341
Mark Daoust [Tue, 20 Feb 2018 19:13:55 +0000 (11:13 -0800)]
Add numpy compatibility note to transpose operations.
fixes #15994
PiperOrigin-RevId:
186331307
Mark Daoust [Tue, 20 Feb 2018 19:12:53 +0000 (11:12 -0800)]
Doc fixes for switching to 10.12.6 (Sierra) as min supported macOS
see: #15933
PiperOrigin-RevId:
186331121
A. Unique TensorFlower [Tue, 20 Feb 2018 19:11:35 +0000 (11:11 -0800)]
Introduce tflite diff test to verify difference between tf and tf lite model
PiperOrigin-RevId:
186330891
Yao Zhang [Tue, 20 Feb 2018 19:03:08 +0000 (11:03 -0800)]
Support multiple fetch nodes and add a flag for memory report.
PiperOrigin-RevId:
186329308
A. Unique TensorFlower [Tue, 20 Feb 2018 18:58:39 +0000 (10:58 -0800)]
Replace private method call _ref() with read_value()
PiperOrigin-RevId:
186328404
Yu-Cheng Ling [Tue, 20 Feb 2018 18:47:06 +0000 (10:47 -0800)]
TFLite: Check if builtin_code is in valid range by best effort.
PiperOrigin-RevId:
186326496
Igor Saprykin [Tue, 20 Feb 2018 17:34:09 +0000 (09:34 -0800)]
Add API to switch certain parts of Graph state to be thread-local.
For example, this can allow two threads to create ops under varying ops.device().
PiperOrigin-RevId:
186314978
A. Unique TensorFlower [Tue, 20 Feb 2018 17:20:28 +0000 (09:20 -0800)]
Implementation of `len` that uses multiple dispatch. Replaces the current blank `tf.shape()[0]` code.
PiperOrigin-RevId:
186313178
A. Unique TensorFlower [Tue, 20 Feb 2018 15:28:14 +0000 (07:28 -0800)]
Internal change.
PiperOrigin-RevId:
186300438
Dustin Tran [Tue, 20 Feb 2018 07:55:21 +0000 (23:55 -0800)]
Automated g4 rollback of changelist
186260342
PiperOrigin-RevId:
186266857
Dustin Tran [Tue, 20 Feb 2018 05:39:03 +0000 (21:39 -0800)]
Reduce tfp.layers boilerplate via programmable docstrings.
PiperOrigin-RevId:
186260342
Derek Murray [Tue, 20 Feb 2018 01:36:56 +0000 (17:36 -0800)]
[tf.data] Delete contrib version of dataset_ops.py, which was re-added by a merge from GitHub.
PiperOrigin-RevId:
186249376
A. Unique TensorFlower [Mon, 19 Feb 2018 14:14:10 +0000 (06:14 -0800)]
Share Variable objects among collections when importing metagraphs.
This mirrors the behavior of usual graph construction where a Variable object is added to multiple collections.
PiperOrigin-RevId:
186214551
A. Unique TensorFlower [Mon, 19 Feb 2018 13:54:27 +0000 (05:54 -0800)]
Remove experimental C API from srcs rule as it requires other sources
PiperOrigin-RevId:
186213207
Blake Hechtman [Mon, 19 Feb 2018 11:29:08 +0000 (03:29 -0800)]
[TF:XLA] Select the update value instead of the buffer to support negative
index scatter.
PiperOrigin-RevId:
186202761
A. Unique TensorFlower [Sat, 17 Feb 2018 16:42:40 +0000 (08:42 -0800)]
Tweak `tf.slice` documentation.
Add the input argument (`foo`) to `tf.slice` example so that it actually works if it were run.
Previously, the input argument was missing (perhaps implied), but the example is clearer with its inclusion.
PiperOrigin-RevId:
186105694
Bixia Zheng [Sat, 17 Feb 2018 15:46:14 +0000 (07:46 -0800)]
[XLA:GPU] Fix a problem in DoGemmAutotune.
Replace DCHECK with CHECK so that DoGemmWithAlgorithm is also called in
non-debug mode to perform autotune.
PiperOrigin-RevId:
186103809
A. Unique TensorFlower [Sat, 17 Feb 2018 12:46:24 +0000 (04:46 -0800)]
Automated g4 rollback of changelist
186019263
PiperOrigin-RevId:
186098155
Mingsheng Hong [Sat, 17 Feb 2018 06:05:07 +0000 (22:05 -0800)]
Added an experimental C API TF_EnableXLACompilation() to enable XLA compilation.
Also ran "buildozer warn //third_party/tensorflow/c/BUILD" and removed an unused symbol.
PiperOrigin-RevId:
186081948
Yu-Cheng Ling [Sat, 17 Feb 2018 03:02:58 +0000 (19:02 -0800)]
Automated g4 rollback of changelist
186053793
PiperOrigin-RevId:
186075274
A. Unique TensorFlower [Sat, 17 Feb 2018 03:01:28 +0000 (19:01 -0800)]
Modify reference quantized LSTM implementation so that it only needs one instantiation of fixed-point Tanh, for 3 integer bits, regardless of the value of StateIntegerBits
PiperOrigin-RevId:
186075161
Ankur Taly [Sat, 17 Feb 2018 02:22:55 +0000 (18:22 -0800)]
Merge changes from github.
PiperOrigin-RevId:
186073337
A. Unique TensorFlower [Sat, 17 Feb 2018 02:18:35 +0000 (18:18 -0800)]
Adds a `shape` property to LabeledTensor.
#labeledtensor
PiperOrigin-RevId:
186073035
Michael Kuperstein [Sat, 17 Feb 2018 02:13:53 +0000 (18:13 -0800)]
[XLA] Pass the module to HloDataflowAnalysis by const reference.
PiperOrigin-RevId:
186072673
A. Unique TensorFlower [Sat, 17 Feb 2018 01:56:36 +0000 (17:56 -0800)]
Activates Eigen path for CPU implementation of atrous/dilated convolution (only forward path).
PiperOrigin-RevId:
186071285
A. Unique TensorFlower [Sat, 17 Feb 2018 01:55:07 +0000 (17:55 -0800)]
Changes keep_dims to keepdims to remove deprecation warning.
#labeledtensor
PiperOrigin-RevId:
186071210
Akshay Modi [Sat, 17 Feb 2018 00:40:02 +0000 (16:40 -0800)]
Make tf.py_func and tf.smart_cond play better with eager mode.
PiperOrigin-RevId:
186063941
Alexandre Passos [Sat, 17 Feb 2018 00:30:17 +0000 (16:30 -0800)]
Initializing the thread-local device to the right value.
PiperOrigin-RevId:
186062850
Sanjoy Das [Sat, 17 Feb 2018 00:15:21 +0000 (16:15 -0800)]
Reset the DAZ bit when entering the XLA CPU/GPU compiler
In an ideal world this won't make a difference since the compiler should be
disciplined about not leaking host-level optimization artifacts into generated
code. However, I think this provides some defense-in-depth in preventing
non-obvious denormal behavior on the host side from messing up floating point
constants etc. we want to embed into generated code.
PiperOrigin-RevId:
186061140
Allen Lavoie [Sat, 17 Feb 2018 00:01:54 +0000 (16:01 -0800)]
Checkpointable: Don't run ops automatically when graph building.
This is a prerequisite to moving toward a Saver-like model when graph building. We no longer mess with initializers (when graph building; eager needs it), and restore ops just get queued up and returned.
Since initializers are left alone when graph building, there is a new special case for slot variables which needs to be handled. This is the third(!) queue for deferred slot restorations ((1) variable -> slot, (2) optimizer -> slot, (3) (optimizer, variable) -> slot), and should be the last one I need (it's a hypergraph with 3-tuple edges).
The plan after this is to switch over to tf.train.Saver's existing restore op creation infrastructure, which will handle any SaveableObjects. There will also be a few CLs for making graph usage prettier, and eventually allowing eager/graph agnostic save/restore.
PiperOrigin-RevId:
186059387