f448189df9b62b6dd141ce14224dbfc0d8f0d11b |
|
20-Jan-2018 |
A. Unique TensorFlower <gardener@tensorflow.org> |
Make sure the same rewrite is not performed multiple times in ArithmeticOptimizer, and that added nodes are unique. A couple of minor cleanups. PiperOrigin-RevId: 182609552
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
98ac3f5b7b3942eb0ede7cae1b1afab717b3090a |
|
28-Nov-2017 |
A. Unique TensorFlower <gardener@tensorflow.org> |
Refactor code in arithmetic and dependency optimizers - get rid of duplicated code for node creation, - make the optimized graph, the NodeMap and FrameMap data members - misc. minor simplifications. Fix a few bugs in NodeMap: Make sure we strip port numbers off inputs before using them as keys to outputs_ or nodes_. PiperOrigin-RevId: 177093144
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
be4295e796437d18ffb7242942c963a8857e5003 |
|
17-Nov-2017 |
Benoit Steiner <bsteiner@google.com> |
Created new shared IsFreeOfSideEffect and ModifiedFrameInfo functions. PiperOrigin-RevId: 176124088
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
0c19b61a4073aaf191340a02a766ebe238bc7e56 |
|
15-Nov-2017 |
A. Unique TensorFlower <gardener@tensorflow.org> |
Add a control dependency optimizer to Grappler. The first two rewrites implemented are: 1. Turn nodes with only control outputs into NoOps, if we know that they are safe to remove. Such nodes can be produced, e.g., by rewrite rules in the arithmetic optimizer. 2. Completely disconnect NoOp nodes with at most 1 input or at most 1 output by rerouting their inputs to their outputs. The restriction on fan-in/fan-out guarantees that we reduce the number of control dependencies in the graph. The two (slightly) non-trivial cases are: // Case a) // x --^> +------+ x --^> +---+ // y --^> | NoOp | --^> a ==> y --^> | a | // ... | | ... | | // z --^> +------+ z --^> +---+ // // Case b) // +------+ --^> a +---+ --^> a // x --^> | NoOp | --^> b ==> | x | --^> b // | | ... | | ... // +------+ --^> c +---+ --^> c PiperOrigin-RevId: 175780178
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
6ace5e0494d8142dc67ca0714893afc716125917 |
|
03-Nov-2017 |
A. Unique TensorFlower <gardener@tensorflow.org> |
* Add optimization to hoist a common factor out of sums of products involving aggregate ops (AddN, Add, Accumulate) or eliminate the aggregation op entirely. * Replace trivial aggregations of the form x+x+x... with const(N)*x for N > 1. PiperOrigin-RevId: 174398543
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
d871fdce70acc165e652c66638943b40ffcda7a3 |
|
13-Oct-2017 |
Jingyue Wu <jingyue@google.com> |
[Grappler] Remove reshapes whose source shape and destination shape are equal. Also makes ArithmeticOptimizer::Optimize run shape inference at the beginning, and clear _output_shapes at the end. PiperOrigin-RevId: 172133948
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
e11b9fd32eb5b8f1eb9b8a30dbb08fc1f83fc1dd |
|
06-Oct-2017 |
Jingyue Wu <jingyue@google.com> |
[Grappler] Fix a bug with multiple-output nodes. TrySimplifyAndReshapeUses should return a tensor not a node. Added a regression test that would have failed without this CL. ArithmeticOptimizer would have redirected the second input of concat to Split rather than Split:1. PiperOrigin-RevId: 171220303
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
f08c961c97c1ec6bb5ee7982b4cc14ba01f3f938 |
|
02-Oct-2017 |
Jingyue Wu <jingyue@google.com> |
[Grappler] Fold multiply into the weights of a convolution. This is beneficial when the weights are constant so the multiply can be folded. For example, Conv2D / \ Transpose weights | Mul / \ inputs 255.0 || \/ Conv2D / \ Transpose Mul | / \ | weights 255.0 | inputs PiperOrigin-RevId: 170747451
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
e4134ea1c920b3256c37004fd245a1f43f0254d7 |
|
28-Sep-2017 |
HyoukJoong Lee <hyouklee@google.com> |
Automated g4 rollback of changelist 170254393 PiperOrigin-RevId: 170291290
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
fefb5f6f4effddcd87556a67ab9725272759b175 |
|
27-Sep-2017 |
Peter Hawkins <phawkins@google.com> |
Automated g4 rollback of changelist 169960914 PiperOrigin-RevId: 170254393
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
bf3857f584c0920f39a29f347fe69762af3381fe |
|
25-Sep-2017 |
Jingyue Wu <jingyue@google.com> |
[Grappler] Optimize transposes. Remove two adjacent Transposes whose permutations are inverse. PiperOrigin-RevId: 169960914
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|
c247826219dd2541c6aba4578a03a171375d9290 |
|
16-Aug-2017 |
Benoit Steiner <bsteiner@google.com> |
Added preliminary support for arithmetic simplifications PiperOrigin-RevId: 165476236
/external/tensorflow/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h
|