A. Unique TensorFlower [Wed, 7 Feb 2018 15:16:17 +0000 (07:16 -0800)]
Utilities for type checking and multiple dispatch.
PiperOrigin-RevId:
184834434
A. Unique TensorFlower [Wed, 7 Feb 2018 14:30:32 +0000 (06:30 -0800)]
Support for quantized LstmCell, with initial reference runtime code.
The current 'optimized' code is just a copy of the reference code,
a true optimized implementation will follow separately.
PiperOrigin-RevId:
184830223
Sanjoy Das [Wed, 7 Feb 2018 07:55:28 +0000 (23:55 -0800)]
[XLA:CPU] Assert more thoroughly on preconditions in VectorSupportlibrary
No behavior change intended.
PiperOrigin-RevId:
184797003
Sanjoy Das [Wed, 7 Feb 2018 07:54:26 +0000 (23:54 -0800)]
[XLA] Use HloVerifiedTestBase in AlgebraicSimplifierTest
And fix the fallout. Thanks to asbirlea@ for noticing this!
PiperOrigin-RevId:
184796949
Sanjoy Das [Wed, 7 Feb 2018 06:48:48 +0000 (22:48 -0800)]
[XLA:CPU] Add an LLVM IR implementation of Exp
This lets us avoid the usual set of issues that crop up when XLA generated code
has to call into C++.
PiperOrigin-RevId:
184793093
Yifei Feng [Wed, 7 Feb 2018 06:05:26 +0000 (22:05 -0800)]
Add pylint check for W0611 unused-import in ci_sanity.sh and fix existing pylint errors.
PiperOrigin-RevId:
184790548
Zhixian Yan [Wed, 7 Feb 2018 05:32:48 +0000 (21:32 -0800)]
LSTM for TFlite/Toco
PiperOrigin-RevId:
184788311
Russell Power [Wed, 7 Feb 2018 05:19:50 +0000 (21:19 -0800)]
Clear feed error on session start.
An existing hook can be re-used on a different session: rather than terminating
the session we should clear the error state.
PiperOrigin-RevId:
184787368
Jonathan Hseu [Wed, 7 Feb 2018 04:40:00 +0000 (20:40 -0800)]
TPUEstimator: Revert the global_step change and require the user to explicitly
pass it.
PiperOrigin-RevId:
184784330
Sanjoy Das [Wed, 7 Feb 2018 02:28:00 +0000 (18:28 -0800)]
[XLA:CPU] Use VectorSupportLibrary for LLVM IR implementation of tanh
No behavioral change intended; this is only refactoring.
VectorSupportLibrary was added after the LLVM IR implementation of tanh so the
tanh implementation was not using VectorSupportLibrary.
The main impetus for this change is that I'm about to add LLVM IR
implementations of Exp and Log, and those are going to use VectorSupportLibrary.
I did not want to have an inconsistency between the tanh and exp, log.
PiperOrigin-RevId:
184774860
A. Unique TensorFlower [Wed, 7 Feb 2018 02:26:02 +0000 (18:26 -0800)]
We used to bypass fake-quant nodes in resolve_reorder_axes, as a hack as we
needed to preserve fake-quant nodes on constant weights as the only way to
encode min-max information when exporting to GraphDef.
Not anymore. Now we unconditionally enable the resolve_constant_fake_quant
transformation, and we don't do this bypass anymore; instead, when exporting
to GraphDef, we re-add FakeQuant nodes just before exporting, around
constant arrays that have minmax.
PiperOrigin-RevId:
184774680
Derek Murray [Wed, 7 Feb 2018 01:37:02 +0000 (17:37 -0800)]
[tf.data] Fix a memory leak when an iterator is reinitialized many times in a session.
Previously, we would instantiate a new function handle for each
function in a dataset each time an iterator on that dataset was
initialized. These would only be deleted at session closure, which
could lead to an apparent leak of memory over the lifetime of session.
PiperOrigin-RevId:
184768730
Yuefeng Zhou [Wed, 7 Feb 2018 01:32:50 +0000 (17:32 -0800)]
Fix memory tracking in the case where temp memory is used as output memory.
Track all persistent memory allocation in allocate_persistent call except for variables and queues where persistent memory is tracked in variables ops and queue ops. Deallocation of persistent memory is ignored.
PiperOrigin-RevId:
184768231
Andrew Selle [Wed, 7 Feb 2018 01:10:31 +0000 (17:10 -0800)]
Sync the opensource and non-opensource build
PiperOrigin-RevId:
184765632
James Qin [Wed, 7 Feb 2018 00:25:59 +0000 (16:25 -0800)]
Address Adagrad/RMSProp incompatibility with CudnnRNN
CudnnRNN layers have variables of unknown shapes, which Adagrad/RMSProp didn't handle before.
This fixes 6620(#6620).
PiperOrigin-RevId:
184759579
Justin Lebar [Tue, 6 Feb 2018 23:30:40 +0000 (15:30 -0800)]
[XLA] Add and use new Literal::MakeTupleOwned overload.
Previously MakeTupleOwned was cumbersome to use, because you had to
explicitly materialize a vector<unique_ptr<Literal>>. With this new
overload, you can pass unique_ptrs directly.
PiperOrigin-RevId:
184751119
Akshay Modi [Tue, 6 Feb 2018 23:13:41 +0000 (15:13 -0800)]
Add read resource variable benchmarks.
Initial benchmarks:
entry {
name: "MicroBenchmarks.benchmark_read_variable_op_2_by_2_CPU"
iters: 30000
wall_time: 22.
9616721471
extras {
key: "examples_per_sec"
value {
double_value: 43550.8352176
}
}
}
entry {
name: "MicroBenchmarks.benchmark_read_variable_op_with_tape_2_by_2_CPU"
iters: 30000
wall_time: 27.
3616631826
extras {
key: "examples_per_sec"
value {
double_value: 36547.4859232
}
}
}
PiperOrigin-RevId:
184748548
A. Unique TensorFlower [Tue, 6 Feb 2018 23:09:51 +0000 (15:09 -0800)]
Creates tf.contrib.feature_column module.
PiperOrigin-RevId:
184747924
Alexandre Passos [Tue, 6 Feb 2018 22:43:18 +0000 (14:43 -0800)]
Handles possible infinite recursion in while loop fix.
PiperOrigin-RevId:
184743192
Eugene Brevdo [Tue, 6 Feb 2018 22:37:21 +0000 (14:37 -0800)]
[TF Ops] Bugfix to Operation initializer: error message uses node_def.
self.node_def may not yet be accessible when using the C api.
PiperOrigin-RevId:
184742074
Joshua V. Dillon [Tue, 6 Feb 2018 22:17:52 +0000 (14:17 -0800)]
Automated g4 rollback of changelist
184551259
PiperOrigin-RevId:
184738583
Anna R [Tue, 6 Feb 2018 22:05:01 +0000 (14:05 -0800)]
Export CXX11_ABI_FLAG and MONOLITHIC_BUILD constants.
PiperOrigin-RevId:
184736216
Alexandre Passos [Tue, 6 Feb 2018 21:54:56 +0000 (13:54 -0800)]
Another rolling back of performance regression.
PiperOrigin-RevId:
184734426
Akshay Modi [Tue, 6 Feb 2018 21:53:56 +0000 (13:53 -0800)]
Make TFE_Py_FastpathExecute work for all types of ops
MatMul benchmarks:
entry {
name: "MicroBenchmarks.benchmark_gen_math_ops_matmul_2_by_2_CPU"
iters: 30000
wall_time: 11.
580435435
extras {
key: "examples_per_sec"
value {
double_value: 86352.538781
}
}
}
entry {
name: "MicroBenchmarks.benchmark_tfe_py_fastpath_execute_matmul_2_by_2_CPU"
iters: 30000
wall_time: 7.
02576637268
extras {
key: "examples_per_sec"
value {
double_value: 142333.227004
}
}
}
PiperOrigin-RevId:
184734289
Benoit Steiner [Tue, 6 Feb 2018 21:48:55 +0000 (13:48 -0800)]
Added support for nested functions
Properly handle the case of control dependencies
PiperOrigin-RevId:
184733444
Joshua V. Dillon [Tue, 6 Feb 2018 21:03:03 +0000 (13:03 -0800)]
Add utility function which makes implicit `tf.get_variable` dependencies an
explicit argument of a callable.
PiperOrigin-RevId:
184725878
Amit Patankar [Tue, 6 Feb 2018 20:58:56 +0000 (12:58 -0800)]
Fixing the issue where an escape character was being included in the branch name changes.
PiperOrigin-RevId:
184725332
Sanjoy Das [Tue, 6 Feb 2018 20:57:07 +0000 (12:57 -0800)]
[TF:XLA] Bump open source llvm revision to r324323
PiperOrigin-RevId:
184725126
Skye Wanderman-Milne [Tue, 6 Feb 2018 20:44:12 +0000 (12:44 -0800)]
Fetch OpDefs from C API instead of using python op registry in ops.py.
PiperOrigin-RevId:
184723558
A. Unique TensorFlower [Tue, 6 Feb 2018 20:30:05 +0000 (12:30 -0800)]
Fixed typo
PiperOrigin-RevId:
184721743
Shanqing Cai [Tue, 6 Feb 2018 20:27:02 +0000 (12:27 -0800)]
tfdbg: deflake session_debug_file_test
by disabling grappler in the test.
PiperOrigin-RevId:
184721353
Alexandre Passos [Tue, 6 Feb 2018 20:04:48 +0000 (12:04 -0800)]
Second, cleaner, attempt at external control dependency handling.
PiperOrigin-RevId:
184718016
A. Unique TensorFlower [Tue, 6 Feb 2018 20:02:18 +0000 (12:02 -0800)]
Improve side_effect_guards to (1) avoid aliasing non-tensors and (2) combine aliasing with re-indenting. Move the renaming visitor into a generic utility API.
This loses potential efficiency by risking sequencing ops where there is no risk of a race. On the other hand it's still not entirely robust, and we need to raise an error where we can't guarantee that.
PiperOrigin-RevId:
184717456
Alexandre Passos [Tue, 6 Feb 2018 20:01:22 +0000 (12:01 -0800)]
Estimator should handle ResourceVariables correctly.
PiperOrigin-RevId:
184717305
Alexandre Passos [Tue, 6 Feb 2018 19:58:36 +0000 (11:58 -0800)]
Support resource variables in moving averages.
PiperOrigin-RevId:
184716895
Alexandre Passos [Tue, 6 Feb 2018 19:51:47 +0000 (11:51 -0800)]
Contrib estimator should handle ResourceVariables properly.
PiperOrigin-RevId:
184715896
Mingsheng Hong [Tue, 6 Feb 2018 19:51:18 +0000 (11:51 -0800)]
Internal change
PiperOrigin-RevId:
184715822
Anna R [Tue, 6 Feb 2018 19:07:04 +0000 (11:07 -0800)]
Adding tf_export decorators/calls to TensorFlow functions and constants.
PiperOrigin-RevId:
184708277
Yao Zhang [Tue, 6 Feb 2018 19:00:58 +0000 (11:00 -0800)]
Enable layout optimizer by default
PiperOrigin-RevId:
184707084
A. Unique TensorFlower [Tue, 6 Feb 2018 18:48:28 +0000 (10:48 -0800)]
Support training with model parallelism in tpu_estimator.
PiperOrigin-RevId:
184704902
Benoit Steiner [Tue, 6 Feb 2018 18:43:45 +0000 (10:43 -0800)]
Use the function name as the grappler item id
PiperOrigin-RevId:
184704131
A. Unique TensorFlower [Tue, 6 Feb 2018 18:13:04 +0000 (10:13 -0800)]
Add local interconnect data to DeviceLocality.
This information can be used within a distributed implementation
when deciding how to route data transfers that might involve more
than one hop. By default the new fields are populated according to
StreamExecutor::CanEnablePeerAccessTo(), however a platform-specific
implementation can augment them with more detailed values.
Do some refactoring of gpu_device and gpu_device_factory, making
GetDeviceLocalities() and GetInterconnectMaps() into virtual
functions.
PiperOrigin-RevId:
184698821
Benoit Steiner [Tue, 6 Feb 2018 18:11:26 +0000 (10:11 -0800)]
Explicitly specify the value of all the attributes for the newly created Assign
nodes since we can't always rely on TF calling AddDefaultAttrsToGraphDef.
PiperOrigin-RevId:
184698463
A. Unique TensorFlower [Tue, 6 Feb 2018 17:40:53 +0000 (09:40 -0800)]
Fix bug in and speed up ConstantFolding::CreateNodeDef():
* Fix bug trying to store more than kintmax32 values in a repeated proto field.
* Speed up populating compressed format. Example: tensorflow/python/kernel_tests/large_concat_op_test with size = 2**29+6 goes from ~30 seconds to ~15 seconds. The fraction of time spent in ConstantFolding::CreateNodeDef() goes down from about 35% to about 12%.
PiperOrigin-RevId:
184693749
Andrew Selle [Tue, 6 Feb 2018 17:28:24 +0000 (09:28 -0800)]
Add a utility function to partition TensorFlow Lite graphs into subgraphs.
This will be used for the forthcoming delegate interface. The delegate
interface will allow parts of the TensorFlow lite graph to be sent to
other accelerators. NNAPI will be implemented to move to this interface.
That will allow partial delegation to NNAPI.
PiperOrigin-RevId:
184692126
Asim Shankar [Tue, 6 Feb 2018 16:53:58 +0000 (08:53 -0800)]
Java: Update to 1.6.0-rc0
PiperOrigin-RevId:
184687994
A. Unique TensorFlower [Tue, 6 Feb 2018 16:50:41 +0000 (08:50 -0800)]
Make namedtuples with identical name and field names to be considered as the same shallow structure in assert_shallow_structure
PiperOrigin-RevId:
184687609
A. Unique TensorFlower [Tue, 6 Feb 2018 16:11:41 +0000 (08:11 -0800)]
Remove redundant calls to realloc dynamic tensors.
PiperOrigin-RevId:
184682942
A. Unique TensorFlower [Tue, 6 Feb 2018 11:11:59 +0000 (03:11 -0800)]
Makes ResourceVariables return correct initialized_value and initial_value for objects created from VariableDef protos.
Previously self._initial_value wasn't set in such cases which causes accessing var.initial_value to fail for variables in the imported meta graphs.
PiperOrigin-RevId:
184657191
Ian Langmore [Tue, 6 Feb 2018 08:29:29 +0000 (00:29 -0800)]
mcmc_diagnostics.py added to contrib/bayesflow/. potential_scale_reduction function added.
.
PiperOrigin-RevId:
184644450
A. Unique TensorFlower [Tue, 6 Feb 2018 08:24:51 +0000 (00:24 -0800)]
Rollback of CL
183879566, and fix Windows CMAKE build by copying one additional CUDA header file.
PiperOrigin-RevId:
184644220
A. Unique TensorFlower [Tue, 6 Feb 2018 02:45:13 +0000 (18:45 -0800)]
Export align_corners to TF Lite
PiperOrigin-RevId:
184622482
Benoit Steiner [Tue, 6 Feb 2018 02:22:37 +0000 (18:22 -0800)]
Added the ability to query the amount of RAM available
Also added the ability to query the CPU frequency on Windows.
PiperOrigin-RevId:
184620390
Joshua V. Dillon [Tue, 6 Feb 2018 01:55:26 +0000 (17:55 -0800)]
Cleanup markdown errors in `Bijector`.
PiperOrigin-RevId:
184616392
Justin Lebar [Tue, 6 Feb 2018 01:45:26 +0000 (17:45 -0800)]
[XLA] Add HloBindings::ToString().
PiperOrigin-RevId:
184615306
Igor Saprykin [Tue, 6 Feb 2018 01:24:31 +0000 (17:24 -0800)]
Correctly treat "devices=/gpu:0" argument of replicate_model_fn.
At the moment if "devices=/GPU:0" are specified by the user, then variables are going to be placed on the GPU. However, if "devices=/gpu:0" are given, then they are going to be placed on the CPU. Instead, the latter case should be equivalent to the former case.
PiperOrigin-RevId:
184612823
Mingsheng Hong [Tue, 6 Feb 2018 01:16:27 +0000 (17:16 -0800)]
Misc cleanups and tweaks:
1. Removed obsolete constructors in ProcessLunctionLibraryRuntime
2. Add const annotations to Tensor::PrintOneDim(), and removed unnecessary vector copy.
PiperOrigin-RevId:
184611531
Justin Lebar [Tue, 6 Feb 2018 01:11:39 +0000 (17:11 -0800)]
[XLA:GPU] Split IrEmitter{Unn,N}ested out of ir_emitter.h.
Also add a bunch of clarifying comments.
PiperOrigin-RevId:
184610674
A. Unique TensorFlower [Tue, 6 Feb 2018 00:32:38 +0000 (16:32 -0800)]
Support negative axis in concatenation
PiperOrigin-RevId:
184605786
A. Unique TensorFlower [Tue, 6 Feb 2018 00:12:19 +0000 (16:12 -0800)]
Shard linear operator tests.
PiperOrigin-RevId:
184602704
Amit Patankar [Tue, 6 Feb 2018 00:08:16 +0000 (16:08 -0800)]
Add filepaths to test_local support.
PiperOrigin-RevId:
184602010
Yifei Feng [Tue, 6 Feb 2018 00:04:06 +0000 (16:04 -0800)]
Remove makefile build dependency on all_opensource_files, as part of the effort to remove all_opensource_files #15758.
PiperOrigin-RevId:
184601439
Skye Wanderman-Milne [Mon, 5 Feb 2018 23:49:57 +0000 (15:49 -0800)]
"frame_name" attr must be altered when importing/exporting MetaGraphDefs.
The frame_name attr of Enter operations must be the name of the
associated WhileLoopContext, otherwise taking the gradient of the loop
will result in frame errors.
I'm not happy that the export logic is in meta_graph.py (all other
control flow de/serialization is in control_flow_ops.py). However, I
can't think of how else to do it, since only export_scoped_meta_graph
has access to the NodeDefs being exported.
PiperOrigin-RevId:
184599323
A. Unique TensorFlower [Mon, 5 Feb 2018 23:46:50 +0000 (15:46 -0800)]
[XLA] Sink layout sensitivity from CSE into HloInstruction::Identical, and make it the default.
PiperOrigin-RevId:
184598903
Suharsh Sivakumar [Mon, 5 Feb 2018 23:32:32 +0000 (15:32 -0800)]
Make fold batch norm code use OneofPattern and rearrange functions to (maybe) be more readable.
PiperOrigin-RevId:
184597111
A. Unique TensorFlower [Mon, 5 Feb 2018 23:30:54 +0000 (15:30 -0800)]
Assign total_loss in order not to crash if training loop exists early.
PiperOrigin-RevId:
184596877
Sergio Guadarrama [Mon, 5 Feb 2018 23:16:29 +0000 (15:16 -0800)]
Adding TensorSpec to represent the specification of Tensors.
PiperOrigin-RevId:
184594856
A. Unique TensorFlower [Mon, 5 Feb 2018 23:14:20 +0000 (15:14 -0800)]
Verify tflite model in TFLite Java API
PiperOrigin-RevId:
184594561
Max Galkin [Mon, 5 Feb 2018 23:10:44 +0000 (15:10 -0800)]
Add logging to diagnose device properties parsing problem in Grappler.
PiperOrigin-RevId:
184594084
Yu-Cheng Ling [Mon, 5 Feb 2018 23:05:43 +0000 (15:05 -0800)]
Fix CBLAS Conv reference implementation in TFLite.
PiperOrigin-RevId:
184592951
Alexandre Passos [Mon, 5 Feb 2018 22:47:23 +0000 (14:47 -0800)]
Automated g4 rollback of changelist
184573795
PiperOrigin-RevId:
184590080
A. Unique TensorFlower [Mon, 5 Feb 2018 22:43:35 +0000 (14:43 -0800)]
Backward pass implementation for fusion optimizer.
PiperOrigin-RevId:
184589487
A. Unique TensorFlower [Mon, 5 Feb 2018 22:38:07 +0000 (14:38 -0800)]
[XLA] Fix documentation for Clamp.
PiperOrigin-RevId:
184588630
Peter Hawkins [Mon, 5 Feb 2018 22:12:02 +0000 (14:12 -0800)]
[TF:XLA] Implement GatherNd.
PiperOrigin-RevId:
184584104
Derek Murray [Mon, 5 Feb 2018 21:43:52 +0000 (13:43 -0800)]
[tf.data] Fix use-after-free bug when closing down an input pipeline.
This fix affects the distributed runtime; DirectSession use is unaffected.
Before this change, an iterator that used a background prefetching
thread might attempt to use a captured FunctionLibraryRuntime from a
subgraph that had been deregistered (and hence its
FunctionLibraryRuntime would have been deleted). This change
introduces a mechanism for "cloning" the necessary parts of the
FunctionLibraryRuntime so that it can be owned by the
IteratorResource.
PiperOrigin-RevId:
184579490
A. Unique TensorFlower [Mon, 5 Feb 2018 21:43:08 +0000 (13:43 -0800)]
[XLA] Add tests for Clamp of S32 and U32 vectors with broadcasted scalars.
PiperOrigin-RevId:
184579375
Alexandre Passos [Mon, 5 Feb 2018 21:03:53 +0000 (13:03 -0800)]
Fixes issue where external control dependencies in while loops are dropped.
Fixes #15891
PiperOrigin-RevId:
184573795
Asim Shankar [Mon, 5 Feb 2018 20:40:51 +0000 (12:40 -0800)]
contrib/rnn: Fix #16703
(Bug introduced in
https://github.com/tensorflow/tensorflow/commit/
3f579020bab8f00e4621e9c7c740cbf13136a809)
Kudos to @akhti for pointing this out.
PiperOrigin-RevId:
184570448
A. Unique TensorFlower [Mon, 5 Feb 2018 20:16:04 +0000 (12:16 -0800)]
Bug fix: Don't dereference nullptr in OpKernelContext::input_alloc_attr().
PiperOrigin-RevId:
184566770
Yunxing Dai [Mon, 5 Feb 2018 20:15:10 +0000 (12:15 -0800)]
[TF:XLA] Making constant folding deterministic.
Making constant folding deterministic by doing DFS deterministically and inserting a serialization point based on nodes' names.
This is the last source of non-determinism remaining in the TF:XLA stack.
RELNOTES: Constant folding pass is now deterministic.
PiperOrigin-RevId:
184566644
Benoit Steiner [Mon, 5 Feb 2018 20:08:36 +0000 (12:08 -0800)]
Serialize the evaluation of the AssignAdd nodes to make the result more
deterministic
Improved testing
PiperOrigin-RevId:
184565483
Yao Zhang [Mon, 5 Feb 2018 19:23:40 +0000 (11:23 -0800)]
Support parsing from text and fused op in contrib.
PiperOrigin-RevId:
184558131
Joshua V. Dillon [Mon, 5 Feb 2018 18:45:33 +0000 (10:45 -0800)]
Automated g4 rollback of changelist
184323369
PiperOrigin-RevId:
184551259
A. Unique TensorFlower [Mon, 5 Feb 2018 18:39:18 +0000 (10:39 -0800)]
Proper reallocation of dynamic tensors.
PiperOrigin-RevId:
184550199
Dan Ringwalt [Mon, 5 Feb 2018 18:36:24 +0000 (10:36 -0800)]
Make flat_transforms_to_matrices and matrices_to_flat_transforms public (#781).
PiperOrigin-RevId:
184549704
Amit Patankar [Mon, 5 Feb 2018 18:16:02 +0000 (10:16 -0800)]
Changing the link to point to new android job.
PiperOrigin-RevId:
184546160
A. Unique TensorFlower [Mon, 5 Feb 2018 18:06:10 +0000 (10:06 -0800)]
[XLA] add Conditional to the local Python XLA client.
PiperOrigin-RevId:
184544483
Dan Ringwalt [Mon, 5 Feb 2018 17:49:01 +0000 (09:49 -0800)]
Clarify that tf.contrib.image.rotate angles are counterclockwise.
PiperOrigin-RevId:
184541776
A. Unique TensorFlower [Mon, 5 Feb 2018 17:33:42 +0000 (09:33 -0800)]
Enable aggressive identity node pruning in dependency optimizer.
PiperOrigin-RevId:
184539756
Skye Wanderman-Milne [Mon, 5 Feb 2018 16:41:54 +0000 (08:41 -0800)]
Get control_flow_ops.py ready to support de/serializing nested control flow.
With this change, ControlFlowContexts keep track of their nested
contexts (the reverse lookup as ControlFlowContext.outer_context).
This is to enable de/serializing the nested contexts of each "root"
context, and only adding the root contexts to collections. This allows
for simple deserialization of each root context by recursively
deserializing its nested contexts.
The de/serialization logic is disabled and the corresponding
control_flow.proto changes are omitted for now for forwards
compatability (i.e. three-week-old binaries must be ready to accept
the new proto format once its commited). After this is committed for
three weeks, I'll commit a follow-up change enabling the new behavior.
Design note: I chose to serialize the nested contexts, rather than the
outer contexts, because it makes it easy to deserialize the contexts
in topological order and to assign the right outer context. If we
serialized the outer contexts, there'd need to be some mechanism for
either sorting all the serialized contexts first, or deserializing all
of them and then doing another pass to assign the outer contexts.
PiperOrigin-RevId:
184533406
A. Unique TensorFlower [Mon, 5 Feb 2018 16:32:18 +0000 (08:32 -0800)]
Internal Change
PiperOrigin-RevId:
184532417
A. Unique TensorFlower [Mon, 5 Feb 2018 15:56:27 +0000 (07:56 -0800)]
Expand the activity analysis to composite names.
Fix a bug in the cond template that caused bad syntax when there it no symbol that needs aliasing.
More refactoring in the process, including:
* introduce the QN (qualified name) class to hold symbol information; it has value semantics and can generate the original symbol, a corresponding AST tree or a single-symbol form (e.g. "a.b" -> a_b)
* allow the template mechanism to use QNs for substitutions
* annotate *all* symbol nodes with their corresponding QN object; this is done as first step during static analysis, and automatically performed on all template expansions
* start using typed annotation keys (Enum values) instead of plain strings
* rename access.py to activity.py
* sanitize nodes in template expansion by deep copying the AST without annotations, to avoid common references
PiperOrigin-RevId:
184528586
A. Unique TensorFlower [Mon, 5 Feb 2018 09:42:16 +0000 (01:42 -0800)]
mini documentation fix
PiperOrigin-RevId:
184496843
A. Unique TensorFlower [Mon, 5 Feb 2018 09:03:32 +0000 (01:03 -0800)]
Fixed sequence_mask behavior on unknown shape.
`sequence_mask` crashed when fed with a tensor of unknown rank.
Added a test for that, and expanded a bit existing tests.
Also fixed pre-existing lint errors.
PiperOrigin-RevId:
184493239
A. Unique TensorFlower [Mon, 5 Feb 2018 03:58:18 +0000 (19:58 -0800)]
Support for quantized LSTM models.
PiperOrigin-RevId:
184476753
Mingsheng Hong [Sun, 4 Feb 2018 19:54:35 +0000 (11:54 -0800)]
Minor fixes to the get started doc.
PiperOrigin-RevId:
184457074
Derek Murray [Sun, 4 Feb 2018 19:24:51 +0000 (11:24 -0800)]
Avoid retaining two copies of each constant in `ConstantOp`.
Presently, the kernel keeps two copies of the constant tensor value, which can be large:
1. In the `ConstantOp::tensor_` field.
2. In the `OpKernel::def_` field (as an attr of the `NodeDef`).
Since we can be sure that `ConstantOp` will never need to access the
tensor value from `OpKernel::def_`, this change introduces a mechanism
for `OpKernel` implementations to store a stripped `NodeDef` in the
base class, and uses it in `ConstantOp` to avoid storing the tensor
value attr.
PiperOrigin-RevId:
184455793
Blake Hechtman [Sun, 4 Feb 2018 07:45:00 +0000 (23:45 -0800)]
[XLA] Assign mandatory constraints in a DFS order and non-manatory constraints in a BFS order.
PiperOrigin-RevId:
184429818
RJ Ryan [Sat, 3 Feb 2018 17:46:31 +0000 (09:46 -0800)]
[tf-signal] Fix exception when input shape is unknown in mfccs_from_log_mel_spectrograms.
PiperOrigin-RevId:
184400783
A. Unique TensorFlower [Sat, 3 Feb 2018 07:02:16 +0000 (23:02 -0800)]
[XLA] Add tests for Clamp with scalars S32 and U32.
PiperOrigin-RevId:
184376425