aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/grappler/grappler_item_builder.cc
Commit message (Collapse)AuthorAge
* Add support for explicit fetches when creating grappler itemsGravatar A. Unique TensorFlower2018-09-27
| | | | PiperOrigin-RevId: 214732243
* Directly import tensor.proto.h (the transitive import will be removed from ↵Gravatar Eugene Brevdo2018-08-23
| | | | | | | | | | tensor.h soon) We plan to remove the import variant.h from tensor.h; and variant.h brings in a lot of transitive imports (including protos like tensor.proto.h). To prepare, we're updating folks who this will break. PiperOrigin-RevId: 210043667
* Don't inline functions in the grappler item builder since this part of the ↵Gravatar Benoit Steiner2018-03-16
| | | | | | | | code doesn't support custom ops. Instead we will rely on the function optimizer. PiperOrigin-RevId: 189400462
* Replace the unknown dimension of signature input when building grappler items.Gravatar Yuefeng Zhou2018-03-13
| | | | | | Fix the bug where same feed nodes or fetch nodes would be added more than once. PiperOrigin-RevId: 188902101
* Don't let the grappler item builder fail if the graph contains unknown customGravatar Benoit Steiner2018-03-12
| | | | | | ops. PiperOrigin-RevId: 188730560
* In Grappler item builder, support inferring fetch nodes from siganture defs.Gravatar Yuefeng Zhou2018-02-28
| | | | PiperOrigin-RevId: 187364078
* Function optimization: added an optimizer to automatically inline functions ↵Gravatar Benoit Steiner2018-02-27
| | | | | | in order to enable Grappler to optimize the body of functions. Inlining also reduces the overhead of evaluating function. PiperOrigin-RevId: 187200883
* Make sure the nodes that are refered to by a collection are preserved during anGravatar Benoit Steiner2018-02-20
| | | | | | optimization PiperOrigin-RevId: 186394467
* Added support for nested functionsGravatar Benoit Steiner2018-02-06
| | | | | | Properly handle the case of control dependencies PiperOrigin-RevId: 184733444
* Use the function name as the grappler item idGravatar Benoit Steiner2018-02-06
| | | | PiperOrigin-RevId: 184704131
* Set the type of the placeholder nodes creating when importing a functionGravatar Benoit Steiner2018-01-11
| | | | | | definition PiperOrigin-RevId: 181617501
* Added a utility function to create a grappler item from a function definitionGravatar Benoit Steiner2018-01-10
| | | | PiperOrigin-RevId: 181519635
* Fix support for functions to grappler items.Gravatar A. Unique TensorFlower2017-12-18
| | | | PiperOrigin-RevId: 179429486
* Add default values of attributes that might have been stripped byGravatar Benoit Steiner2017-12-08
| | | | | | optimizations. PiperOrigin-RevId: 178440738
* Always instantiate default attribute values when building a grappler item: thisGravatar Benoit Steiner2017-12-08
| | | | | | | ensures that we can safely process graphs generated before attributes were added to an op. PiperOrigin-RevId: 178423665
* Turned a verbose log into a vlogGravatar Benoit Steiner2017-11-30
| | | | PiperOrigin-RevId: 177474943
* Silenced noisy logGravatar Benoit Steiner2017-11-28
| | | | PiperOrigin-RevId: 177249675
* Don't try to feed placeholder with default. Instead we rely on the defaultGravatar Benoit Steiner2017-11-27
| | | | | | value. PiperOrigin-RevId: 177079220
* Minor change: extra logging to help understand the effects of OptimizeGraph ↵Gravatar Max Galkin2017-10-20
| | | | | | and PruneGraph calls. PiperOrigin-RevId: 172902338
* Add an option to apply ModelPruner when building a grappler item and an ↵Gravatar Max Galkin2017-10-10
| | | | | | option to provide specific feed nodes to the item builder. PiperOrigin-RevId: 171758733
* Add a flag to erase "_noinline" attribute to allow total inlining in Grappler.Gravatar Max Galkin2017-10-10
| | | | PiperOrigin-RevId: 171722354
* Simplify some code in grappler_item_builder.cc, no change in logic.Gravatar A. Unique TensorFlower2017-09-12
| | | | PiperOrigin-RevId: 168409110
* Support overriding asset path;Gravatar Yuefeng Zhou2017-08-28
| | | | | | Support saved model as input; PiperOrigin-RevId: 166765212
* Allowing functions to run across devices. This change expands the ↵Gravatar Rohan Jain2017-08-17
| | | | | | | | ProcessFunctionLibraryRuntime library to Instantiate and Run functions on different devices. When a FunctionLibraryRuntime encounters a function with a target that is another device, it delegates Instantiate() and Run() calls to the ProcessFunctionLibraryRuntime. This change also moves the table_ containing all function instantiations to the PFLR instead of the FunctionLibraryRuntime. PiperOrigin-RevId: 165651194
* Automated g4 rollback of changelist 165521057Gravatar Rohan Jain2017-08-17
| | | | PiperOrigin-RevId: 165604864
* Allowing functions to run across devices. This change expands the ↵Gravatar Rohan Jain2017-08-16
| | | | | | | | ProcessFunctionLibraryRuntime library to Instantiate and Run functions on different devices. When a FunctionLibraryRuntime encounters a function with a target that is another device, it delegates Instantiate() and Run() calls to the ProcessFunctionLibraryRuntime. This change also moves the table_ containing all function instantiations to the PFLR instead of the FunctionLibraryRuntime. PiperOrigin-RevId: 165521057
* Add save and restore op in grappler item;Gravatar Yuefeng Zhou2017-08-15
| | | | PiperOrigin-RevId: 165350681
* Don't force inlining of functions marked no-inlineGravatar Benoit Steiner2017-08-01
| | | | PiperOrigin-RevId: 163842238
* Add the option of including Shape, ShapeN, Size and Rank in the standard ↵Gravatar A. Unique TensorFlower2017-07-31
| | | | | | TensorFlow constant propagation pass, when the inputs to those Ops have sufficiently known static shape. PiperOrigin-RevId: 163762750
* Call AddDefaultAttrsToGraphDef() in grappler_item_builder.cc with op_registryGravatar A. Unique TensorFlower2017-07-25
| | | | | | | including function library so that it doesn't fail for the graph with inline function library. PiperOrigin-RevId: 163142677
* Add default attrs to the graph def for inlining code in Grappler.Gravatar A. Unique TensorFlower2017-07-21
| | | | PiperOrigin-RevId: 162773493
* Prepare to remove a bunch of proto.h includes from tensorflow/core headersGravatar Geoffrey Irving2017-06-29
| | | | | | | | | | | | The goal is to make kernels mostly independent of proto headers, which will let us lock down our .so imports. This CL does not remove any actual headers, but changes a bunch of files so that header removal is possible in a followup CL. It also marks the headers that will be removed with // TODO(b/62899350): Remove RELNOTES: n/a PiperOrigin-RevId: 160552878
* Properly handle partially known placeholder shapesGravatar Benoit Steiner2017-06-28
| | | | PiperOrigin-RevId: 160488554
* Avoid doing unecessary work in the OptimizeGraph() function whenever possibleGravatar Benoit Steiner2017-06-23
| | | | PiperOrigin-RevId: 160003173
* Don't crash if a metagraph fails to load.Gravatar Benoit Steiner2017-06-23
| | | | PiperOrigin-RevId: 159981628
* Made sure that the nodes listed as feed, fetch and init_op exist in the graph.Gravatar Benoit Steiner2017-06-14
| | | | PiperOrigin-RevId: 159034290
* Remove unused protobuf header inclusionsGravatar A. Unique TensorFlower2017-06-06
| | | | PiperOrigin-RevId: 158120864
* Wipe out previous shape inference result when importing a grappler itemGravatar Benoit Steiner2017-06-01
| | | | | | Run graph optimizations last: since they can be expensive it's best to filter invalid items first. PiperOrigin-RevId: 157792834
* Update placeholder nodes' shapes in the GraphDef to reflect manually ↵Gravatar A. Unique TensorFlower2017-06-01
| | | | | | specified values for incomplete placeholder shapes. Previously, these overrides were only specified in the feed nodes, which improves estimates when using dynamic shapes but not when using static shapes. With this change, static shapes also benefit. PiperOrigin-RevId: 157780800
* Add flag to determine whether to do L1 optimizations and inline functions. ↵Gravatar A. Unique TensorFlower2017-05-31
| | | | | | Default is to do them. In tf_optimizer don't inline or do l1 optimizations. PiperOrigin-RevId: 157673614
* Add GraphOptimizer to Grappler item builder to do L1 optimizations andGravatar A. Unique TensorFlower2017-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | inlining. Op Counts Comparison (BNMT) Counts: Profile vs Grappler Op: Add, 968 vs 965 Op: AddN, 2228 vs 2228 Op: ApplyGradientDescent, 84 vs 84 Op: BatchMatMul, 998 vs 998 Op: Identity, 142 vs 105 Op: MatMul, 63 vs 63 Op: Mul, 10318 vs 10306 Op: OneHot, 1 vs 1 Op: Reshape, 8421 vs 8422 Op: Select, 488 vs 488 Op: Shape, 8132 vs 8131 Op: Sigmoid, 942 vs 942 Op: Softmax, 19 vs 19 Op: StridedSlice, 58 vs 74 Op: Sub, 1398 vs 1394 Op: Tanh, 333 vs 333 Op: Tile, 21 vs 21 Op: Transpose, 39 vs 39 PiperOrigin-RevId: 157288420
* If placeholder_unknown_output_shape is defined, replaces all unknown ↵Gravatar A. Unique TensorFlower2017-05-19
| | | | | | | | placeholder shape dimensions with placeholder_unknown_output_shape before making a tensorshape out of it. Avoids assertion error (-1 vs 0) on newer metagraphdefs (specifically bnmt) where placeholder shapes are not empty if they are partially defined. PiperOrigin-RevId: 156575182
* Add function inlining support to Grappler.Gravatar A. Unique TensorFlower2017-05-18
| | | | PiperOrigin-RevId: 156457746
* Improved support for lookup tables. These tables are often initialized from ↵Gravatar Benoit Steiner2017-04-26
| | | | | | large files stored on disk, and can take tens of minutes to load: increased the initialization timeout to give grappler enough time to load them. Change: 154303608
* Started a set of utilities to categorize op typesGravatar Benoit Steiner2017-04-05
| | | | Change: 152329057
* Moved the function that converts metagraphdef into grappler item to its ownGravatar Benoit Steiner2017-03-17
file Change: 150498236