Struct caffe2_transform::SortedDummyTransform
source · pub struct SortedDummyTransform {}
Expand description
Transform with Sorted Order matching. Matches two operators of type TransformDummyOp1, even if disconnected. These operators will be given in execution order, but doesn’t need connectivity. Changes them to TransformDummyOp2.
Implementations§
Trait Implementations§
source§impl Default for SortedDummyTransform
impl Default for SortedDummyTransform
source§impl Transform for SortedDummyTransform
impl Transform for SortedDummyTransform
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 SortedDummyTransform
impl Send for SortedDummyTransform
impl Sync for SortedDummyTransform
impl Unpin for SortedDummyTransform
impl UnwindSafe for SortedDummyTransform
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.