Trait caffe2_transform::Transform
source · pub trait Transform {
// Provided methods
fn pattern_match(&mut self, graph: &Graph) -> Vec<Vec<i32>> { ... }
fn try_neighbors(
&mut self,
graph: &Graph,
neighbors: &HashMap<i32, Vec<String>>,
matched: &Vec<bool>,
subgraph_ptr: *mut Vec<i32>,
best_subgraph_ptr: *mut Vec<i32>
) { ... }
fn pattern_match_helper(
&mut self,
graph: &Graph,
matched: &Vec<bool>,
subgraph_ptr: *mut Vec<i32>,
best_subgraph_ptr: *mut Vec<i32>
) { ... }
fn pattern_rule(&mut self, g: &Graph, subgraph: &Vec<i32>, idx: i32) -> bool { ... }
fn validator_rule(&mut self, g: &Graph, subgraph: &Vec<i32>) -> bool { ... }
fn replace_rule(&mut self, subgraph: &Vec<i32>, g_ptr: *mut Graph) -> bool { ... }
fn set_pattern_match_type(&mut self, ty: PatternMatchType) { ... }
fn replace_pattern(&mut self, matches: &Vec<Vec<i32>>, graph: *mut Graph) { ... }
fn apply_to(&mut self, orig_net: &NetDef) -> NetDef { ... }
}
Provided Methods§
sourcefn pattern_match(&mut self, graph: &Graph) -> Vec<Vec<i32>>
fn pattern_match(&mut self, graph: &Graph) -> Vec<Vec<i32>>
| Generates all matches (stored as ordered
| subgraphs) and returns them.
|
| A match is stored as vector
sourcefn try_neighbors(
&mut self,
graph: &Graph,
neighbors: &HashMap<i32, Vec<String>>,
matched: &Vec<bool>,
subgraph_ptr: *mut Vec<i32>,
best_subgraph_ptr: *mut Vec<i32>
)
fn try_neighbors( &mut self, graph: &Graph, neighbors: &HashMap<i32, Vec<String>>, matched: &Vec<bool>, subgraph_ptr: *mut Vec<i32>, best_subgraph_ptr: *mut Vec<i32> )
| Attempts to append each neighbor to | the end of the subgraph. |
sourcefn pattern_match_helper(
&mut self,
graph: &Graph,
matched: &Vec<bool>,
subgraph_ptr: *mut Vec<i32>,
best_subgraph_ptr: *mut Vec<i32>
)
fn pattern_match_helper( &mut self, graph: &Graph, matched: &Vec<bool>, subgraph_ptr: *mut Vec<i32>, best_subgraph_ptr: *mut Vec<i32> )
| A helper function for PatternMatch, | which keeps track of the best subgraph | so far. |
sourcefn pattern_rule(&mut self, g: &Graph, subgraph: &Vec<i32>, idx: i32) -> bool
fn pattern_rule(&mut self, g: &Graph, subgraph: &Vec<i32>, idx: i32) -> bool
| The PatternRule essentially answers: | | Given the current subgraph (ordered), | should we append the new node at idx? |
sourcefn validator_rule(&mut self, g: &Graph, subgraph: &Vec<i32>) -> bool
fn validator_rule(&mut self, g: &Graph, subgraph: &Vec<i32>) -> bool
| The ValidatorRule essentially answers: | | Given a subgraph, can we accept it? |
sourcefn replace_rule(&mut self, subgraph: &Vec<i32>, g_ptr: *mut Graph) -> bool
fn replace_rule(&mut self, subgraph: &Vec<i32>, g_ptr: *mut Graph) -> bool
| The ReplaceRule actually mutates the | graph, and applies the transformation | upon the subgraph. |