| 30 | namespace grappler { |
| 31 | |
| 32 | struct ItemConfig { |
| 33 | ItemConfig() {} |
| 34 | |
| 35 | // If true, ignore all user specified node placement. |
| 36 | bool ignore_user_placement = true; |
| 37 | // If true, ignore all user specified colocation attributes. |
| 38 | bool ignore_colocation = true; |
| 39 | // Dimension to use if a placeholder node has an _output_shapes attribute with |
| 40 | // a dimension of -1. |
| 41 | int placeholder_unknown_output_shape_dim = -1; |
| 42 | // If true, erases all "_noinline" attributes from user-defined functions. |
| 43 | // Has no effect if "inline_functions" is disabled. |
| 44 | bool erase_noinline_attributes = false; |
| 45 | // If non-empty, override the directory of asset paths. |
| 46 | string assets_directory_override; |
| 47 | // If true, runs ModelPruner on the graph. |
| 48 | bool prune_graph = false; |
| 49 | // Override feed nodes list. |
| 50 | std::set<string> feed_nodes; |
| 51 | // Override fetch nodes list. |
| 52 | std::set<string> fetch_nodes; |
| 53 | |
| 54 | // Configs for graph optimizations from common_runtime. This is NOT Grappler |
| 55 | // function optimizer. When Grappler is invoked at runtime, it is typically |
| 56 | // running after common_runtime pass. |
| 57 | // |
| 58 | // If true, does L1 optimizations. |
| 59 | bool apply_optimizations = false; |
| 60 | // If true, does function inlining. |
| 61 | bool inline_functions = false; |
| 62 | }; |
| 63 | |
| 64 | // Method for optimizing the graph def (including function inlining and other |
| 65 | // optimizations). This is optimizations from common_runtime, NOT Grappler |