A. Unique TensorFlower [Wed, 28 Feb 2018 03:09:38 +0000 (19:09 -0800)]
Adopt Eigen::DenseIndex in lieu of int64 for a few variables (to appease compiler warnings/errors).
PiperOrigin-RevId:
187268113
A. Unique TensorFlower [Wed, 28 Feb 2018 02:01:13 +0000 (18:01 -0800)]
Add fields to TfOpStats to store step-related information of some host operations. Also include the starting time of a device step in StepInfoResult.
PiperOrigin-RevId:
187262025
Jonathan Hseu [Wed, 28 Feb 2018 01:32:27 +0000 (17:32 -0800)]
Add unit tests for context propagation in ThreadPool and a benchmark for ParallelFor.
PiperOrigin-RevId:
187259233
A. Unique TensorFlower [Wed, 28 Feb 2018 01:13:19 +0000 (17:13 -0800)]
Changed back to Shard for SplitV to get better performance.
PiperOrigin-RevId:
187257148
Martin Wicke [Wed, 28 Feb 2018 01:02:47 +0000 (17:02 -0800)]
Move security.md into the right place.
PiperOrigin-RevId:
187255784
Michael Kuperstein [Wed, 28 Feb 2018 00:41:38 +0000 (16:41 -0800)]
[XLA] Remove an unused function with a typo in its name.
PiperOrigin-RevId:
187252967
Gunhan Gulsoy [Tue, 27 Feb 2018 23:41:18 +0000 (15:41 -0800)]
Bump the version of CUB in cmake build.
PiperOrigin-RevId:
187244251
A. Unique TensorFlower [Tue, 27 Feb 2018 23:39:58 +0000 (15:39 -0800)]
tf.contrib.data.bucket_by_sequence_length for variable length inputs
PiperOrigin-RevId:
187244061
Jeremy Lau [Tue, 27 Feb 2018 23:32:16 +0000 (15:32 -0800)]
Make RecentRequestIds more efficient.
PiperOrigin-RevId:
187242940
A. Unique TensorFlower [Tue, 27 Feb 2018 23:19:47 +0000 (15:19 -0800)]
Implement support for unpartitioning tf.nn.embedding_lookup into a single gather.
PiperOrigin-RevId:
187241089
Benoit Steiner [Tue, 27 Feb 2018 22:55:13 +0000 (14:55 -0800)]
Properly handle inlining failures
PiperOrigin-RevId:
187237044
A. Unique TensorFlower [Tue, 27 Feb 2018 22:37:14 +0000 (14:37 -0800)]
Added a TFLite Java API to get last inference latency in nanoseconds.
PiperOrigin-RevId:
187234119
Alexandre Passos [Tue, 27 Feb 2018 22:32:57 +0000 (14:32 -0800)]
"soft placement" for eager
PiperOrigin-RevId:
187233434
A. Unique TensorFlower [Tue, 27 Feb 2018 21:49:03 +0000 (13:49 -0800)]
Renames sequential_feature_column to sequence_feature_column and adds pydoc.
PiperOrigin-RevId:
187226365
A. Unique TensorFlower [Tue, 27 Feb 2018 21:38:24 +0000 (13:38 -0800)]
Allow the Ftrl-proximal optimizer parameter 'initial_accumulator_value' to take zero values.
PiperOrigin-RevId:
187224701
A. Unique TensorFlower [Tue, 27 Feb 2018 21:36:10 +0000 (13:36 -0800)]
Optimized non-aligned case of split and split_v on the first input dimension.
PiperOrigin-RevId:
187224344
A. Unique TensorFlower [Tue, 27 Feb 2018 21:22:58 +0000 (13:22 -0800)]
During late import, update model->flags from the input-arrays shape information that
was read from the graph (e.g. shape attribute in Placeholder nodes).
PiperOrigin-RevId:
187222358
Allen Lavoie [Tue, 27 Feb 2018 21:20:03 +0000 (13:20 -0800)]
Checkpointable: Move the checkpoint-grouping utility out of the unit test file
Renames Saver -> CheckpointableSaver in preparation for exposing the necessary
symbols in tf.contrib.eager.
There's a pending change for Optimizers, and Asim is handling Layers/Model. Once
those are checked in, we should be able to save/restore everything in the eager
examples (or at least the mnist one...). Still plenty more to make
Checkpointable, but it should be usable at that point.
PiperOrigin-RevId:
187221803
Allen Lavoie [Tue, 27 Feb 2018 20:34:17 +0000 (12:34 -0800)]
Make Layers Checkpointable
(This change is mostly API goldens by volume)
Layers will inherit from CheckpointableBase since they do variable management
themselves. A __setattr__ override would also likely slow down functional layers
significantly.
I believe the plan for Model is to piggyback on its existing __setattr__
override rather than having Model inherit from CheckpointableBase through Layer
and Checkpointable itself.
PiperOrigin-RevId:
187215512
Sergio Guadarrama [Tue, 27 Feb 2018 20:12:32 +0000 (12:12 -0800)]
Allow eager metrics to save internal variables by using global_variables.
PiperOrigin-RevId:
187212528
Benoit Steiner [Tue, 27 Feb 2018 20:08:24 +0000 (12:08 -0800)]
Register the function optimizer in the meta optimizer. Made sure it's turned OFF by default until more validation is done.
PiperOrigin-RevId:
187211957
A. Unique TensorFlower [Tue, 27 Feb 2018 20:06:33 +0000 (12:06 -0800)]
Add consistency check: for constant arrays (those that have a buffer),
there must be a shape, and its flat-size must equal the buffer length.
PiperOrigin-RevId:
187211685
Sanjoy Das [Tue, 27 Feb 2018 20:05:41 +0000 (12:05 -0800)]
Use a couple of type aliases for brevity; NFC
PiperOrigin-RevId:
187211560
Sanjoy Das [Tue, 27 Feb 2018 19:57:09 +0000 (11:57 -0800)]
Improve our handling of bitcasts.
- Do not fuse bitcasts in the CPU backend. Fused instructions lose their
layout and a bitcast is meaningless without a layout. We were explicitly
testing for this so I've changed the corresponding tests to use a reshape
instead.
- Fail the layout assignment if we see a bitcast. bitcasts are inherently
layout sensitive and so a bitcast instruction present in the IR before layout
assignment is a bug.
PiperOrigin-RevId:
187210151
Sanjoy Das [Tue, 27 Feb 2018 19:48:25 +0000 (11:48 -0800)]
[TF:XLA] Bump open source llvm revision to r326181
PiperOrigin-RevId:
187208788
A. Unique TensorFlower [Tue, 27 Feb 2018 19:40:05 +0000 (11:40 -0800)]
Don't crash on missing inputs in dependency analyzer. This is a temporary mitigation until the underlying bug is found.
PiperOrigin-RevId:
187207594
Benoit Steiner [Tue, 27 Feb 2018 19:01:10 +0000 (11:01 -0800)]
Function optimization: added an optimizer to automatically inline functions in order to enable Grappler to optimize the body of functions. Inlining also reduces the overhead of evaluating function.
PiperOrigin-RevId:
187200883
A. Unique TensorFlower [Tue, 27 Feb 2018 18:49:41 +0000 (10:49 -0800)]
Add 8bit Tanh support to tflite
Allow output datatypes for custom ops to be more than the output types used in the graph. When an op has multiple outputs, some of them not used will be optimized away. This results in a failure. The change in propagate_array_data_types.cc fix this.
PiperOrigin-RevId:
187198815
Eugene Brevdo [Tue, 27 Feb 2018 18:30:41 +0000 (10:30 -0800)]
[TF CriticalSection] Bugfix: deref the Mutex before calling done_()
This avoids an error wherein the Mutex destructor is called from the same thread
as its threadpool, thus leading to a pthread 35 error.
If the mutex is dereferenced before done_ is called, then the destruction is
delayed until after done_() is called, and this happens in a different thread
from the threadpool.
PiperOrigin-RevId:
187195628
A. Unique TensorFlower [Tue, 27 Feb 2018 18:27:28 +0000 (10:27 -0800)]
Make block-based pruning more general, allowing it to operate on higher-dimensional arrays that can be squeezed to 2-dimensional.
PiperOrigin-RevId:
187195105
Martin Wicke [Tue, 27 Feb 2018 18:25:17 +0000 (10:25 -0800)]
Lint fixes.
PiperOrigin-RevId:
187194778
A. Unique TensorFlower [Tue, 27 Feb 2018 18:05:38 +0000 (10:05 -0800)]
Implement partial constant folding of AddN and AccumulateNV2.
Change AccumulateNV2 to AddN if all inputs are constant, since constant folding doesn't work for the fake node type.
PiperOrigin-RevId:
187191772
A. Unique TensorFlower [Tue, 27 Feb 2018 18:05:22 +0000 (10:05 -0800)]
Make crosstools ready for introduction of c++-link-nodeps-dynamic-library
PiperOrigin-RevId:
187191730
Alexandre Passos [Tue, 27 Feb 2018 17:52:00 +0000 (09:52 -0800)]
Uses the new automatic control dependencies code for functions.
PiperOrigin-RevId:
187189552
A. Unique TensorFlower [Tue, 27 Feb 2018 16:29:52 +0000 (08:29 -0800)]
Tensorflow: adds additional debugging info to feed_dict failure condition.
If you have a large feed dict, determining the type of each object can be difficult, and this additional debugging info helped me in such a case.
PiperOrigin-RevId:
187179551
A. Unique TensorFlower [Tue, 27 Feb 2018 14:00:21 +0000 (06:00 -0800)]
Enable dynamic function calls. These are compiled just in time by inserting a call to compile.
PiperOrigin-RevId:
187165096
A. Unique TensorFlower [Tue, 27 Feb 2018 09:02:36 +0000 (01:02 -0800)]
Add documentation to Grappler RewriterConfig to give a short description for each
of the optimizer on what they do.
PiperOrigin-RevId:
187143156
A. Unique TensorFlower [Tue, 27 Feb 2018 05:25:22 +0000 (21:25 -0800)]
Improve error handling in strided_slice_op to fail more gracefully and return an error status instead of crashing.
PiperOrigin-RevId:
187126888
A. Unique TensorFlower [Tue, 27 Feb 2018 05:09:30 +0000 (21:09 -0800)]
Automated g4 rollback of changelist
187092622
PiperOrigin-RevId:
187125995
Brennan Saeta [Tue, 27 Feb 2018 04:21:07 +0000 (20:21 -0800)]
Add helpers to stream data from the GCE VM to a Cloud TPU.
PiperOrigin-RevId:
187122870
Skye Wanderman-Milne [Tue, 27 Feb 2018 03:58:18 +0000 (19:58 -0800)]
Fix bug in deserializing CondContexts.
PiperOrigin-RevId:
187121244
Francois Chollet [Tue, 27 Feb 2018 03:57:42 +0000 (19:57 -0800)]
Fixes and simplification in the Keras training engine.
- Explicitly disallow sample/class weighting in eager (it was never supported)
- Remove tests for it (which were actually ignoring sample/class weights)
- Make sample weight placeholders placeholder_with_default, and do not create all-ones numpy arrays to feed them when no sample weights are provided (this might lead to better performance)
PiperOrigin-RevId:
187121215
A. Unique TensorFlower [Tue, 27 Feb 2018 03:46:27 +0000 (19:46 -0800)]
Make sure rounding and handling of denormals in Grappler is the same as in TensorFlow.
Enable constant folding for more types, particularly on GPUs.
PiperOrigin-RevId:
187120456
A. Unique TensorFlower [Tue, 27 Feb 2018 02:05:59 +0000 (18:05 -0800)]
Remove old implementation of the adaptive shared batcher, the in flight batches implemntation delivers similar performance but is simpler and requires less tuning.
PiperOrigin-RevId:
187111685
Suharsh Sivakumar [Tue, 27 Feb 2018 02:04:55 +0000 (18:04 -0800)]
Modify retrain script to output TFLite compatible quantized models.
-Also fix flaky input name selection introduced by last PR.
-Also rely on tf.contrib.quantize to do graph transformations.
-Also, update retrain script to use new float mobilenet_v1 and quantized mobilenet_v1 models.
PiperOrigin-RevId:
187111533
Brennan Saeta [Tue, 27 Feb 2018 01:56:15 +0000 (17:56 -0800)]
Support configurable stats publishers in the grpc server.
PiperOrigin-RevId:
187110497
Kay Zhu [Tue, 27 Feb 2018 01:55:31 +0000 (17:55 -0800)]
[XLA::Interpreter] Add support for kConditional to HloEvaluator. Also enable
xla/tests/conditional_tests to run on interpreter.
PiperOrigin-RevId:
187110438
A. Unique TensorFlower [Tue, 27 Feb 2018 01:27:20 +0000 (17:27 -0800)]
Fix buffer assignment for conditional instruction.
PiperOrigin-RevId:
187107432
A. Unique TensorFlower [Tue, 27 Feb 2018 01:04:09 +0000 (17:04 -0800)]
Consolidate the builtin function overrides into a single module, and use a generic `dynamic_builtin` function to dispatch between implementations. Use the generic dispatcher in the generated code.
PiperOrigin-RevId:
187104685
Benoit Steiner [Tue, 27 Feb 2018 01:01:24 +0000 (17:01 -0800)]
Only link the swapping code when compiling TensorFlow with CUDA support.
PiperOrigin-RevId:
187104273
Kay Zhu [Tue, 27 Feb 2018 00:24:54 +0000 (16:24 -0800)]
[XLA] In HloEvaluator, fix an issue for HandleAbs to handle complex numbers
more correctly:
- abs([complex numbers]) would yield floats. However since the specilization for
HandleAbs is based on the return type (float), we'd CHECK fail due to float !=
complex when accessing the elements of the operand (complex).
- enable unary_op_test for interpreter.
PiperOrigin-RevId:
187099576
Martin Wicke [Tue, 27 Feb 2018 00:23:46 +0000 (16:23 -0800)]
Deprecate tf.contrib.learn.
RELNOTES: Deprecated tf.contrib.learn. Please check contrib/learn/README.md for instructions on how to convert existing code.
PiperOrigin-RevId:
187099439
A. Unique TensorFlower [Tue, 27 Feb 2018 00:01:04 +0000 (16:01 -0800)]
[XLA] Add more supported dtypes to the local Python client.
PiperOrigin-RevId:
187096144
Bixia Zheng [Mon, 26 Feb 2018 23:42:52 +0000 (15:42 -0800)]
[XLA] Fix #17090 a problem in IrArray::Index::SourceIndexOfTranspose.
Agebraic simplification transforms bitcast-equivalent transpose/reshape
instructions to bitcast instructions before IR emission. As such, we should
skip the checking on whether a transpose/reshape instruction is
bitcast-equivalent or not during IR emission. Remove the call from
IrArray::Index::SourceIndexOfTranspose to ShapeUtil::TransposeIsBitcast. Also
remove the call from IrArray::Index::SourceIndexOfReshape to
ShapeUtil::ReshapeIsBitcast.
Remove the calls to ShapeUtil::TransposeIsBitcast and
ShapeUtil::ReshapeIsBitcast from NotWorthHoistingIndividually
because layout assignment hasn't been done there yet. Instead, returns true
when the input is a transpose or reshape instruction, to prevent it from
being hoisted out of loops.
Add a check to ShapeUtil::TransposeIsBitcast and ShapeUtil::ReshapeIsBitcast
to make sure that both input shape and output shape have layouts.
Add two test cases.
PiperOrigin-RevId:
187093399
Alexandre Passos [Mon, 26 Feb 2018 23:37:40 +0000 (15:37 -0800)]
Uses a thread pool for graph functions in eager mode with inter_op_parallelism_threads.
PiperOrigin-RevId:
187092622
Kay Zhu [Mon, 26 Feb 2018 23:37:27 +0000 (15:37 -0800)]
[XLA::Interpreter] Add support for kCall to HloEvaluator. Also enable
xla/tests/call_test to run on interpreter.
PiperOrigin-RevId:
187092587
Skye Wanderman-Milne [Mon, 26 Feb 2018 22:38:31 +0000 (14:38 -0800)]
Enable de/serialization of nested control flow.
This is a follow-up to the previous commit
(https://github.com/tensorflow/tensorflow/commit/
23851760b7b099214bdd4f1b88156d7ac2bdd2a2).
It adds the new proto schemas, enables the behavior for reading and
writing the new protos, and adds a test for de/serializing nested
while loops.
There's still a bug preventing deserializing conds, which will be addressed
in another change.
PiperOrigin-RevId:
187082713
Sanjoy Das [Mon, 26 Feb 2018 22:32:08 +0000 (14:32 -0800)]
Track DebugOptions in AotCompilationOptions
In particular, I need this for supporting HLO profiling in the AOT backend.
PiperOrigin-RevId:
187081674
Sanjoy Das [Mon, 26 Feb 2018 22:31:29 +0000 (14:31 -0800)]
[TF:XLA] Bump open source llvm revision to r326083
PiperOrigin-RevId:
187081592
A. Unique TensorFlower [Mon, 26 Feb 2018 22:25:37 +0000 (14:25 -0800)]
Add a function that allows to dynamically verify whether a function is white listed for graph mode.
PiperOrigin-RevId:
187080654
A. Unique TensorFlower [Mon, 26 Feb 2018 22:25:30 +0000 (14:25 -0800)]
1st version of sequential feature columns.
PiperOrigin-RevId:
187080635
Michael Kuperstein [Mon, 26 Feb 2018 22:19:56 +0000 (14:19 -0800)]
[XLA] GTE of a certain element of the tuple does not need not keep other elements alive.
This achieves two things:
1. Heap simulation runtime is no longer quadratic in the number of tuple elements (as we don't add each GetTupleElement to the liveset of each buffer defined by the tuple).
2. A reduction in the heap memory footprint.
PiperOrigin-RevId:
187079787
Shivani Agrawal [Mon, 26 Feb 2018 22:11:08 +0000 (14:11 -0800)]
Adding documentation for dataset/iterator checkpointing.
PiperOrigin-RevId:
187078347
Allen Lavoie [Mon, 26 Feb 2018 22:00:07 +0000 (14:00 -0800)]
TFTS: Switch to using core feature columns
This fixes some shape issues that came up when using the tf.contrib.layers
parsing functions.
Adds a string -> embedding column API example to the LSTM example.
PiperOrigin-RevId:
187076400
Akshay Agrawal [Mon, 26 Feb 2018 21:54:02 +0000 (13:54 -0800)]
Update eager uniform replay buffer microbenchmarks to compare against graph functions when possible.
PiperOrigin-RevId:
187075418
Richard Wei [Mon, 26 Feb 2018 21:06:59 +0000 (13:06 -0800)]
Include c_api_experimental in libtensorflow.so's dependencies.
PiperOrigin-RevId:
187068103
A. Unique TensorFlower [Mon, 26 Feb 2018 20:33:17 +0000 (12:33 -0800)]
Maintain a cache of output dtypes of ops in TFE_Context.
PiperOrigin-RevId:
187062992
Jeremy Lau [Mon, 26 Feb 2018 20:23:36 +0000 (12:23 -0800)]
Internal change.
PiperOrigin-RevId:
187061863
Alexandre Passos [Mon, 26 Feb 2018 20:10:01 +0000 (12:10 -0800)]
Fix bug calling gradients_function inside custom_gradient
PiperOrigin-RevId:
187059871
Benoit Steiner [Mon, 26 Feb 2018 19:57:30 +0000 (11:57 -0800)]
Use optimized ops to handle GPU memory swapping: this avoids the need for 2
pairs of extra _send/_recv nodes which speeds things up a bit. This also
ensures that performance doesn't depend on the recv scheduling built in TF,
which isn't always optimal.
PiperOrigin-RevId:
187057831
Anna R [Mon, 26 Feb 2018 19:52:26 +0000 (11:52 -0800)]
Internal change.
PiperOrigin-RevId:
187056963
A. Unique TensorFlower [Mon, 26 Feb 2018 19:50:49 +0000 (11:50 -0800)]
Add the internal module name prefix to the white list.
PiperOrigin-RevId:
187056701
Skye Wanderman-Milne [Mon, 26 Feb 2018 19:43:14 +0000 (11:43 -0800)]
Actually expose smart_cond and smart_constant_value in tf.contrib.framework
Also moves these methods into their own file in python/framework. This avoids further bloating control_flow_ops.py and makes the BUILD deps easier for a future change I'm working on.
PiperOrigin-RevId:
187055501
Yu-Cheng Ling [Mon, 26 Feb 2018 19:22:43 +0000 (11:22 -0800)]
TFLite: Ensures pointers to tensors won't be invalidated unless 16+ tensors are added.
PiperOrigin-RevId:
187052100
Mingsheng Hong [Mon, 26 Feb 2018 19:13:09 +0000 (11:13 -0800)]
Added const to Node* in various parts of the code base.
PiperOrigin-RevId:
187050526
Sanjoy Das [Mon, 26 Feb 2018 19:12:04 +0000 (11:12 -0800)]
Add support for parsing the "gather" HLO
PiperOrigin-RevId:
187050345
Asim Shankar [Mon, 26 Feb 2018 19:10:20 +0000 (11:10 -0800)]
eager/examples/resnet50: Fix breakage.
PiperOrigin-RevId:
187050075
A. Unique TensorFlower [Mon, 26 Feb 2018 19:08:54 +0000 (11:08 -0800)]
Bring in `isbuiltin`.
PiperOrigin-RevId:
187049824
Guangda Lai [Mon, 26 Feb 2018 18:59:54 +0000 (10:59 -0800)]
Automated g4 rollback of changelist
185324160
PiperOrigin-RevId:
187048135
Brennan Saeta [Mon, 26 Feb 2018 18:54:31 +0000 (10:54 -0800)]
Integrate ClusterResolvers with TPUEstimator.
PiperOrigin-RevId:
187047094
Michael Kuperstein [Mon, 26 Feb 2018 18:52:05 +0000 (10:52 -0800)]
[XLA] Do not recompute flattened sets inside layout assignment.
Cache the flattened sets instead of recomputing them. This matters for large graphs, since we may request the flattened set thousands of times on the same instruction, and it may be fairly expensive to construct for large tuples.
PiperOrigin-RevId:
187046642
Yuanzhong Xu [Mon, 26 Feb 2018 18:42:59 +0000 (10:42 -0800)]
[XLA] Add kConvert to EffectiveOperandPrecisionIsOutputPrecision list.
PiperOrigin-RevId:
187044921
Mark Daoust [Mon, 26 Feb 2018 18:41:44 +0000 (10:41 -0800)]
Deleting references to outdated `translate/seq2seq` tutorial.
PiperOrigin-RevId:
187044697
Alexandre Passos [Mon, 26 Feb 2018 18:24:56 +0000 (10:24 -0800)]
Move accumulate_n_v2 to core.
PiperOrigin-RevId:
187042001
A. Unique TensorFlower [Mon, 26 Feb 2018 18:24:08 +0000 (10:24 -0800)]
Arithemtic optimization: Rewite Sub(0, y) => Neg(y)
PiperOrigin-RevId:
187041872
Sanjoy Das [Mon, 26 Feb 2018 18:17:15 +0000 (10:17 -0800)]
Generalize the gather_indices dimension that stores indices
This is now exposed as a index_vector_dim dimension number.
Also fixed an off-by-one error in ValidateGatherDimensionNumbers in the
expression computing output_shape_rank.
PiperOrigin-RevId:
187040748
A. Unique TensorFlower [Mon, 26 Feb 2018 18:07:09 +0000 (10:07 -0800)]
Fix pip install examples to match text: Use pip and point to Py2 packages
PiperOrigin-RevId:
187038889
Rui Zhao [Mon, 26 Feb 2018 17:32:47 +0000 (09:32 -0800)]
Fix print format error.
PiperOrigin-RevId:
187033623
Justin Lebar [Mon, 26 Feb 2018 17:24:38 +0000 (09:24 -0800)]
[XLA:GPU] Fix HLO profiling when multiple streams are involved.
We were enqueueing the timer on the main stream, but not blocking the
substreams, so the results were nonsensical.
PiperOrigin-RevId:
187032412
A. Unique TensorFlower [Mon, 26 Feb 2018 16:58:48 +0000 (08:58 -0800)]
Add __str__ method to _RefVariableProcessor.
PiperOrigin-RevId:
187029027
A. Unique TensorFlower [Mon, 26 Feb 2018 16:04:09 +0000 (08:04 -0800)]
Drop the getcallargs extension as its logic had to be moved to a higher level into api.py.
PiperOrigin-RevId:
187022717
A. Unique TensorFlower [Mon, 26 Feb 2018 15:21:08 +0000 (07:21 -0800)]
Annotate attribute nodes with the value or type of their parent. This helps with resolving function owners, since using reflection to do it is unreliable.
PiperOrigin-RevId:
187017742
Jacques Pienaar [Sun, 25 Feb 2018 10:55:29 +0000 (02:55 -0800)]
[XLA] Remove bitcast-converts between same shape.
PiperOrigin-RevId:
186929931
A. Unique TensorFlower [Sun, 25 Feb 2018 07:51:54 +0000 (23:51 -0800)]
Re-enables moving_average_optimizer_test. Resource variable bug fixed by apassos@
PiperOrigin-RevId:
186921623
A. Unique TensorFlower [Sat, 24 Feb 2018 14:35:12 +0000 (06:35 -0800)]
Use the new inspect_utils API to to get the function's namespace.
PiperOrigin-RevId:
186884307
Guangda Lai [Sat, 24 Feb 2018 02:18:15 +0000 (18:18 -0800)]
Exclude more tests for cuda_on_cpu.
PiperOrigin-RevId:
186851831
Francois Chollet [Sat, 24 Feb 2018 01:32:14 +0000 (17:32 -0800)]
Refactor Keras engine by splitting it into short, specialized files.
The purpose of this change is to make the codebase more maintainable and readable.
Before:
engine/topology.py
models.py
After:
engine/base_layer.py
engine/input_layer.py
engine/network.py
engine/sequential.py
engine/saving.py
This is a large change but it only moves code around with no change in logic or API.
New files are all under 1000 lines of logic (network.py is 1500 lines, but under 1000 if you remove imports and docstrings), and often under 500.
PiperOrigin-RevId:
186847895
A. Unique TensorFlower [Sat, 24 Feb 2018 01:22:37 +0000 (17:22 -0800)]
Add another utility that captures a function's namespace as a mapping from symbol names to actual values.
Update getmethodclass with a hopefully more robust method.
PiperOrigin-RevId:
186847003
Alexandre Passos [Sat, 24 Feb 2018 01:19:00 +0000 (17:19 -0800)]
Dropped from previous change.
PiperOrigin-RevId:
186846681
Allen Lavoie [Sat, 24 Feb 2018 00:59:01 +0000 (16:59 -0800)]
Checkpointable: compatibility mode with name-based saving
Allows loading a name-based checkpoint using the object-based API. When
graph building it's quite seamless. There's no restore-on-create for
eager, so it would require program changes to do much useful there (i.e.
is not seamless).
Adds several tests for checkpoint compatibility (name->object in eager/graph,
and eager->graph/graph->eager for object-based saving)
PiperOrigin-RevId:
186844431