Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | [Grappler] Add RemoveStackStridedSliceSameAxis optimizer. | Eugene Brevdo | 2018-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. | A. Unique TensorFlower | 2018-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. | A. Unique TensorFlower | 2018-09-18 |
| | | | | PiperOrigin-RevId: 213520177 | ||
* | [Grappler] s/std::string/string/ | James Keeling | 2018-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 ↵ | A. Unique TensorFlower | 2018-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 ↵ | A. Unique TensorFlower | 2018-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. | A. Unique TensorFlower | 2018-08-06 |
| | | | | PiperOrigin-RevId: 207579284 | ||
* | Convert exp(x)-1 into expm1(x). | A. Unique TensorFlower | 2018-07-31 |
| | | | | PiperOrigin-RevId: 206841457 | ||
* | Automated rollback of commit 6874e1ef40c4189d96c105227f60b507953f95d3 | A. Unique TensorFlower | 2018-07-09 |
| | | | | PiperOrigin-RevId: 203790544 | ||
* | UnaryOpsComposition arithmetic optimizer. | Eugene Zhulenev | 2018-06-29 |
| | | | | PiperOrigin-RevId: 202703970 | ||
* | Convert exp(x-1) into expm1(x). | A. Unique TensorFlower | 2018-06-28 |
| | | | | PiperOrigin-RevId: 202598404 | ||
* | Automated g4 rollback of changelist 201190626 | A. Unique TensorFlower | 2018-06-19 |
| | | | | PiperOrigin-RevId: 201202998 | ||
* | Automated g4 rollback of changelist 201069367 | Jingyue Wu | 2018-06-19 |
| | | | | PiperOrigin-RevId: 201190626 | ||
* | Fix bug in RemoveIdempotent optimizer stage. | A. Unique TensorFlower | 2018-06-18 |
| | | | | | | Minor cleanup in RemoveIdentityTranspose. PiperOrigin-RevId: 201069367 | ||
* | Optimize max/min reductions over monotonic functions | A. Unique TensorFlower | 2018-06-16 |
| | | | | PiperOrigin-RevId: 200843761 | ||
* | Convert log(x+1) to log1p(x). | A. Unique TensorFlower | 2018-06-14 |
| | | | | PiperOrigin-RevId: 200645461 | ||
* | Disable removing pairs of transposes across chains, while debugging breakage ↵ | A. Unique TensorFlower | 2018-06-14 |
| | | | | | | in bayesflow. PiperOrigin-RevId: 200568541 | ||
* | Automated g4 rollback of changelist 197562826 | A. Unique TensorFlower | 2018-06-05 |
| | | | | PiperOrigin-RevId: 199388675 | ||
* | Move fold-transpose and fold-conjugate optimizations into stages. | Eugene Zhulenev | 2018-06-05 |
| | | | | PiperOrigin-RevId: 199371452 | ||
* | Move SimplifyAggregation to separate aggregation stage. | Eugene Zhulenev | 2018-06-05 |
| | | | | PiperOrigin-RevId: 199346067 | ||
* | Move ReplaceMulWithSquare to a separate optimizer stage. | Eugene Zhulenev | 2018-06-05 |
| | | | | PiperOrigin-RevId: 199338297 | ||
* | Extract FoldMultiplyIntoConv optimization stage. | A. Unique TensorFlower | 2018-06-01 |
| | | | | PiperOrigin-RevId: 198953044 | ||
* | Move reorder-cast-and-transpose optimization to optimization stage. | A. Unique TensorFlower | 2018-05-31 |
| | | | | PiperOrigin-RevId: 198788352 | ||
* | Move RemodeRedundantReshape optimization to a separate stage. | A. Unique TensorFlower | 2018-05-31 |
| | | | | PiperOrigin-RevId: 198775276 | ||
* | Improve ReshapeIsIdentity to work with symbolic shapes. | Jingyue Wu | 2018-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. | A. Unique TensorFlower | 2018-05-30 |
| | | | | PiperOrigin-RevId: 198624394 | ||
* | Automated g4 rollback of changelist 197868028 | A. Unique TensorFlower | 2018-05-24 |
| | | | | PiperOrigin-RevId: 197942379 | ||
* | Automated g4 rollback of changelist 197477959 | A. Unique TensorFlower | 2018-05-24 |
| | | | | PiperOrigin-RevId: 197868028 | ||
* | Automated g4 rollback of changelist 197527651 | A. Unique TensorFlower | 2018-05-22 |
| | | | | PiperOrigin-RevId: 197562826 | ||
* | convert Pow op into something that is more recognizable, so we can have further | A. Unique TensorFlower | 2018-05-22 |
| | | | | | | optimizations. PiperOrigin-RevId: 197527651 | ||
* | Add arithmetic optimizer stage that removes LogicalNot that takes a ↵ | A. Unique TensorFlower | 2018-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: | A. Unique TensorFlower | 2018-05-17 |
| | | | | | | | * Snapshot to Identity promotion. * Removal of transposes pairs separated by chain. PiperOrigin-RevId: 197073602 | ||
* | ArithmeticOptimizer assumes valid feeds in aggressive mode. | Jingyue Wu | 2018-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 ↵ | A. Unique TensorFlower | 2018-05-10 |
| | | | | | | chain of ops that preserve value, order, and shape. Off by default. PiperOrigin-RevId: 196183111 | ||
* | Add EvaluateNodes to tests: AddOpsRewrite_AddOpsOfIdenticalShape, ↵ | A. Unique TensorFlower | 2018-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, ↵ | A. Unique TensorFlower | 2018-05-07 |
| | | | | | | RemoveTransposesWithControlDependency, CombineBitcasts, CombineAndRemoveBitcasts, RemoveRedundantCast PiperOrigin-RevId: 195735234 | ||
* | Add EvaluateNodes to HoistFactorDiv test. | A. Unique TensorFlower | 2018-05-07 |
| | | | | PiperOrigin-RevId: 195685340 | ||
* | Optimize idempotent ops, e.g., Snapshot(Snapshot(x)) => Snapshot(x) | A. Unique TensorFlower | 2018-05-04 |
| | | | | PiperOrigin-RevId: 195308675 | ||
* | Enable unary chain hoisting optimization for concat/split/splitv by default. | A. Unique TensorFlower | 2018-05-03 |
| | | | | PiperOrigin-RevId: 195297330 | ||
* | Implement unary chain hoisting optimization for Concat, Split, and SplitV. | A. Unique TensorFlower | 2018-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 rsqrt | A. Unique TensorFlower | 2018-04-26 |
| | | | | PiperOrigin-RevId: 194459152 | ||
* | Implement hoisting of common prefix of unary ops to concat. | A. Unique TensorFlower | 2018-04-24 |
| | | | | PiperOrigin-RevId: 194135148 | ||
* | Make sure that same nodes are not optimized as part of multiple groups. | A. Unique TensorFlower | 2018-04-14 |
| | | | | | | Replace recusrsion with iteration in AbsorbInputByOptimizedNodesGroup. PiperOrigin-RevId: 192874364 | ||
* | Adds support for hoisting out common denominator in arithmetic_optimizer | A. Unique TensorFlower | 2018-04-10 |
| | | | | PiperOrigin-RevId: 192314177 | ||
* | Minimize broadcasts by rewriting a sub-tree of binary associative ops (Add, ↵ | A. Unique TensorFlower | 2018-04-09 |
| | | | | | | Mul). PiperOrigin-RevId: 192145052 | ||
* | Fixed handling of control dependencies in the arithmethic optimizer | Benoit Steiner | 2018-04-04 |
| | | | | PiperOrigin-RevId: 191665098 | ||
* | run evaluate nodes on parts of arithmetic optimizer tests. | A. Unique TensorFlower | 2018-04-04 |
| | | | | PiperOrigin-RevId: 191647386 | ||
* | Rewrite Add/AddN subgraph, minimizing number of required broadcasts. | A. Unique TensorFlower | 2018-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. | A. Unique TensorFlower | 2018-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. | A. Unique TensorFlower | 2018-03-25 |
| | | | | PiperOrigin-RevId: 190282163 |