Struct caffe2_transform::GeneralDummyTransform
source · pub struct GeneralDummyTransform {}
Expand description
General subgraph transform. Matches a TransformDummyOp1, and a TransformDummyOp2. Order doesn’t matter. Connectedness doesn’t matter. Turns them into TransformDummyOp3.
Implementations§
Trait Implementations§
source§impl Default for GeneralDummyTransform
impl Default for GeneralDummyTransform
source§impl Transform for GeneralDummyTransform
impl Transform for GeneralDummyTransform
source§fn 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, which
| is a mapping to OperatorDefs in Graph.
| The order matters.
|
source§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 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.
|
source§fn 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.
|
source§fn 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?
|
source§fn 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?
|
source§fn 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.
|
fn set_pattern_match_type(&mut self, ty: PatternMatchType)
Auto Trait Implementations§
impl RefUnwindSafe for GeneralDummyTransform
impl Send for GeneralDummyTransform
impl Sync for GeneralDummyTransform
impl Unpin for GeneralDummyTransform
impl UnwindSafe for GeneralDummyTransform
Blanket Implementations§
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.