aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/grappler/optimizers/arithmetic_optimizer_test.cc
Commit message (Collapse)AuthorAge
* [Grappler] Add RemoveStackStridedSliceSameAxis optimizer.Gravatar Eugene Brevdo2018-10-10
| | | | | | | | | | | | | | | | // Replace operations of the form: // x = stack((a_0, a_1, ..., a_{n-1}), axis=k)[:,...,i,...] // with // a_i // when the strided slice index `i` is applied in the k'th axis. // // Similarly, replace operations of the form: // x = stack((a_0, a_1, ..., a_{n-1}), axis=k)[:,...,i:i+1,...] // with // expand_dims(a_i, axis=k) // PiperOrigin-RevId: 216535346
* Fix bug in Pow optimizer rule when broadcasting is involved.Gravatar A. Unique TensorFlower2018-09-20
| | | | | | Minor cleanup by moving the helper function ShapesEqual to GraphProperties and adding unit tests for it. PiperOrigin-RevId: 213876779
* Clean up remove_negation pass in Grappler.Gravatar A. Unique TensorFlower2018-09-18
| | | | PiperOrigin-RevId: 213520177
* [Grappler] s/std::string/string/Gravatar James Keeling2018-09-14
| | | | | | string and std::string are not necessarily the same thing in TF, but this code assumed that they are. PiperOrigin-RevId: 212952877
* Extend hoisting monotonic functions out of min/max reductions to all ↵Gravatar A. Unique TensorFlower2018-09-04
| | | | | | | | monotonic unary functions. Add the ability to flip Max <-> Min if the function is non-increasing, e.g. Max(Neg(x)) => Neg(Min(x)). PiperOrigin-RevId: 211490436
* Fix bug in hoisting monotonic functions out of reductions: Do not change the ↵Gravatar A. Unique TensorFlower2018-08-30
| | | | | | | | value of nodes in the preserve set, e.g. fetch nodes. I simplified the rewiring logic a tad. PiperOrigin-RevId: 211017989
* Make sure the output values are same before and after graph optimization.Gravatar A. Unique TensorFlower2018-08-06
| | | | PiperOrigin-RevId: 207579284
* Convert exp(x)-1 into expm1(x).Gravatar A. Unique TensorFlower2018-07-31
| | | | PiperOrigin-RevId: 206841457
* Automated rollback of commit 6874e1ef40c4189d96c105227f60b507953f95d3Gravatar A. Unique TensorFlower2018-07-09
| | | | PiperOrigin-RevId: 203790544
* UnaryOpsComposition arithmetic optimizer.Gravatar Eugene Zhulenev2018-06-29
| | | | PiperOrigin-RevId: 202703970
* Convert exp(x-1) into expm1(x).Gravatar A. Unique TensorFlower2018-06-28
| | | | PiperOrigin-RevId: 202598404
* Automated g4 rollback of changelist 201190626Gravatar A. Unique TensorFlower2018-06-19
| | | | PiperOrigin-RevId: 201202998
* Automated g4 rollback of changelist 201069367Gravatar Jingyue Wu2018-06-19
| | | | PiperOrigin-RevId: 201190626
* Fix bug in RemoveIdempotent optimizer stage.Gravatar A. Unique TensorFlower2018-06-18
| | | | | | Minor cleanup in RemoveIdentityTranspose. PiperOrigin-RevId: 201069367
* Optimize max/min reductions over monotonic functionsGravatar A. Unique TensorFlower2018-06-16
| | | | PiperOrigin-RevId: 200843761
* Convert log(x+1) to log1p(x).Gravatar A. Unique TensorFlower2018-06-14
| | | | PiperOrigin-RevId: 200645461
* Disable removing pairs of transposes across chains, while debugging breakage ↵Gravatar A. Unique TensorFlower2018-06-14
| | | | | | in bayesflow. PiperOrigin-RevId: 200568541
* Automated g4 rollback of changelist 197562826Gravatar A. Unique TensorFlower2018-06-05
| | | | PiperOrigin-RevId: 199388675
* Move fold-transpose and fold-conjugate optimizations into stages.Gravatar Eugene Zhulenev2018-06-05
| | | | PiperOrigin-RevId: 199371452
* Move SimplifyAggregation to separate aggregation stage.Gravatar Eugene Zhulenev2018-06-05
| | | | PiperOrigin-RevId: 199346067
* Move ReplaceMulWithSquare to a separate optimizer stage.Gravatar Eugene Zhulenev2018-06-05
| | | | PiperOrigin-RevId: 199338297
* Extract FoldMultiplyIntoConv optimization stage.Gravatar A. Unique TensorFlower2018-06-01
| | | | PiperOrigin-RevId: 198953044
* Move reorder-cast-and-transpose optimization to optimization stage.Gravatar A. Unique TensorFlower2018-05-31
| | | | PiperOrigin-RevId: 198788352
* Move RemodeRedundantReshape optimization to a separate stage.Gravatar A. Unique TensorFlower2018-05-31
| | | | PiperOrigin-RevId: 198775276
* Improve ReshapeIsIdentity to work with symbolic shapes.Gravatar Jingyue Wu2018-05-30
| | | | | | | | | | For example, with this CL, ArithmeticOptimizer can optimize the Reshape below into a no-op. s = Shape(t) Reshape(t, Concat(s[0], s[1], s[2], s[3])) PiperOrigin-RevId: 198668726
* Move RemoveInvolution optimization to optimizer stage.Gravatar A. Unique TensorFlower2018-05-30
| | | | PiperOrigin-RevId: 198624394
* Automated g4 rollback of changelist 197868028Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197942379
* Automated g4 rollback of changelist 197477959Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197868028
* Automated g4 rollback of changelist 197527651Gravatar A. Unique TensorFlower2018-05-22
| | | | PiperOrigin-RevId: 197562826
* convert Pow op into something that is more recognizable, so we can have furtherGravatar A. Unique TensorFlower2018-05-22
| | | | | | optimizations. PiperOrigin-RevId: 197527651
* Add arithmetic optimizer stage that removes LogicalNot that takes a ↵Gravatar A. Unique TensorFlower2018-05-21
| | | | | | | | | | | | | comparison as input, i.e. !(a == b) => a != b !(a != b) => a == b !(a < b) => a >= b !(a <= b) => a > b !(a > b) => a <= b !(a >= b) => a < b PiperOrigin-RevId: 197477959
* Enable optimizations submitted during pre-NIPS freeze:Gravatar A. Unique TensorFlower2018-05-17
| | | | | | | * Snapshot to Identity promotion. * Removal of transposes pairs separated by chain. PiperOrigin-RevId: 197073602
* ArithmeticOptimizer assumes valid feeds in aggressive mode.Gravatar Jingyue Wu2018-05-11
| | | | | | ArithmeticOptimizer depends heavily on shapes in some stages. PiperOrigin-RevId: 196264319
* Remove cancelling pairs of transposes that are separated by a non-branching ↵Gravatar A. Unique TensorFlower2018-05-10
| | | | | | chain of ops that preserve value, order, and shape. Off by default. PiperOrigin-RevId: 196183111
* Add EvaluateNodes to tests: AddOpsRewrite_AddOpsOfIdenticalShape, ↵Gravatar A. Unique TensorFlower2018-05-10
| | | | | | AddOpsRewrite_MultiplePasses, AddOpsRewrite_AddInputMultipleTimes, AddOpsRewrite_AddOpsOfSymbolicallyEqualShape, AddOpsRewrite_MinimizeBCast, AddOpsRewrite_MinimizeBCastWithSymbolicShapes, RemoveNegation, MinimizeBroadcasts_SimpleSwap, MinimizeBroadcasts_FlattenTallGraph, MinimizeBroadcasts_BuildTreeUp PiperOrigin-RevId: 196125583
* Add EvaluateNodes to tests: RemoveIdentityTransposesMultipleOutputs, ↵Gravatar A. Unique TensorFlower2018-05-07
| | | | | | RemoveTransposesWithControlDependency, CombineBitcasts, CombineAndRemoveBitcasts, RemoveRedundantCast PiperOrigin-RevId: 195735234
* Add EvaluateNodes to HoistFactorDiv test.Gravatar A. Unique TensorFlower2018-05-07
| | | | PiperOrigin-RevId: 195685340
* Optimize idempotent ops, e.g., Snapshot(Snapshot(x)) => Snapshot(x)Gravatar A. Unique TensorFlower2018-05-04
| | | | PiperOrigin-RevId: 195308675
* Enable unary chain hoisting optimization for concat/split/splitv by default.Gravatar A. Unique TensorFlower2018-05-03
| | | | PiperOrigin-RevId: 195297330
* Implement unary chain hoisting optimization for Concat, Split, and SplitV.Gravatar A. Unique TensorFlower2018-04-30
| | | | | | | | | | | | | | | | | | For Concat, hoist prefix chains of unary ops before concatenation, e.g. // Rewrites // Concat({Cos(Exp(a)), Cos(Exp(b)), Cos(Exp(c))}) // into // Cos(Exp(Concat({a, b, c}))). For Split/SplitV hoist unary postfix chains before the split, e.g. // Rewrites // [Cos(Exp(y)) for y in Split(x)] // into // [y for y in Split(Cos(Exp(x)))]. The new optimization is off by default. PiperOrigin-RevId: 194850318
* Adds optimization to convert division of sqrt to multiplication of rsqrtGravatar A. Unique TensorFlower2018-04-26
| | | | PiperOrigin-RevId: 194459152
* Implement hoisting of common prefix of unary ops to concat.Gravatar A. Unique TensorFlower2018-04-24
| | | | PiperOrigin-RevId: 194135148
* Make sure that same nodes are not optimized as part of multiple groups.Gravatar A. Unique TensorFlower2018-04-14
| | | | | | Replace recusrsion with iteration in AbsorbInputByOptimizedNodesGroup. PiperOrigin-RevId: 192874364
* Adds support for hoisting out common denominator in arithmetic_optimizerGravatar A. Unique TensorFlower2018-04-10
| | | | PiperOrigin-RevId: 192314177
* Minimize broadcasts by rewriting a sub-tree of binary associative ops (Add, ↵Gravatar A. Unique TensorFlower2018-04-09
| | | | | | Mul). PiperOrigin-RevId: 192145052
* Fixed handling of control dependencies in the arithmethic optimizerGravatar Benoit Steiner2018-04-04
| | | | PiperOrigin-RevId: 191665098
* run evaluate nodes on parts of arithmetic optimizer tests.Gravatar A. Unique TensorFlower2018-04-04
| | | | PiperOrigin-RevId: 191647386
* Rewrite Add/AddN subgraph, minimizing number of required broadcasts.Gravatar A. Unique TensorFlower2018-04-02
| | | | | | | | | | 1) Collect to AddOpsGroup inputs of symbolically defined shapes, that can be broadcasted to the root shape 2) Rewrite equal shapes with AddN(s) 3) Build Add tree from aggegations of different shapes, minimizing the cost of broadcast PiperOrigin-RevId: 191331566
* Improve support for DT_HALF and DT_BFLOAT16 in Grappler graph optimizations.Gravatar A. Unique TensorFlower2018-03-27
| | | | | | Update GrapplerTest::EvaluateNodes to take feeds as an argument, to make it easier to write tests with placeholders. PiperOrigin-RevId: 190696386
* add EvaluateNodes to OpDedupping test.Gravatar A. Unique TensorFlower2018-03-25
| | | | PiperOrigin-RevId: 190282163