[−][src]Struct tract_core::model::ModelPatch
A change to apply to a model.
Actually structured around a model that represent the new nodes to be inserted, plus information about how to connect these new nodes to the pre-existing graph.
Fields
model: Model<TI>the model-like 'patch' of nodes to add to the model
Methods
impl<TI: TensorInfo> ModelPatch<TI>[src]
pub fn tap_model(
&mut self,
model: &Model<TI>,
outlet: OutletId
) -> TractResult<OutletId>[src]
&mut self,
model: &Model<TI>,
outlet: OutletId
) -> TractResult<OutletId>
Draw a tap from a preexisting node.
returns an OutletId usable in the little "patch" model
pub fn shunt_outside(
&mut self,
outlet: OutletId,
by: OutletId
) -> TractResult<()>[src]
&mut self,
outlet: OutletId,
by: OutletId
) -> TractResult<()>
Replace an Outlet in the target model by one from the patch.
pub fn replace_single_op<O: Into<Box<dyn Op>>>(
patched_model: &Model<TI>,
node: &Node<TI>,
inputs: &[OutletId],
new_op: O
) -> TractResult<ModelPatch<TI>>[src]
patched_model: &Model<TI>,
node: &Node<TI>,
inputs: &[OutletId],
new_op: O
) -> TractResult<ModelPatch<TI>>
Convenience method creating a patch that replace a single operation.
pub fn single_unary_op<O: Into<Box<dyn Op>>>(
patched_model: &Model<TI>,
node: &Node<TI>,
new_op: O
) -> TractResult<ModelPatch<TI>>[src]
patched_model: &Model<TI>,
node: &Node<TI>,
new_op: O
) -> TractResult<ModelPatch<TI>>
Convenience method creating a patch that replace a single unary operation.
pub fn apply(self, target: &mut Model<TI>) -> TractResult<()>[src]
Apply all changes in the patch to the target model.
Methods from Deref<Target = Model<TI>>
pub fn add_node(
&mut self,
name: impl Into<String>,
op: impl Into<Box<dyn Op>>,
output_facts: TVec<TI>
) -> TractResult<usize>[src]
&mut self,
name: impl Into<String>,
op: impl Into<Box<dyn Op>>,
output_facts: TVec<TI>
) -> TractResult<usize>
add a node to the model, returning its id
pub fn add_edge(&mut self, outlet: OutletId, inlet: InletId) -> TractResult<()>[src]
Connect a node outlet to a node inlet.
pub fn input_outlets(&self) -> TractResult<&[OutletId]>[src]
Get model inputs.
pub fn set_input_outlets(&mut self, inputs: &[OutletId]) -> TractResult<()>[src]
Change model inputs.
pub fn set_input_names(
&mut self,
inputs: impl IntoIterator<Item = impl AsRef<str>>
) -> TractResult<()>[src]
&mut self,
inputs: impl IntoIterator<Item = impl AsRef<str>>
) -> TractResult<()>
Set model inputs by the node name.
pub fn input_fact(&self, ix: usize) -> TractResult<&TI>[src]
Get the ix-th input tensor type information.
pub fn set_input_fact(&mut self, input: usize, fact: TI) -> TractResult<()>[src]
Set the ix-th input tensor type information.
pub fn output_outlets(&self) -> TractResult<&[OutletId]>[src]
Get model outputs.
pub fn set_output_outlets(&mut self, outputs: &[OutletId]) -> TractResult<()>[src]
Change model outputs.
pub fn set_output_names(
&mut self,
outputs: impl IntoIterator<Item = impl AsRef<str>>
) -> TractResult<()>[src]
&mut self,
outputs: impl IntoIterator<Item = impl AsRef<str>>
) -> TractResult<()>
Set model outputs by node names.
pub fn output_fact(&self, ix: usize) -> TractResult<&TI>[src]
Get the ix-th input tensor type information.
pub fn node_names(&self) -> impl Iterator<Item = &str>[src]
Iterate over all node names.
pub fn node_by_name(&self, name: &str) -> TractResult<&Node<TI>>[src]
Find a node by its name.
pub fn node(&self, id: usize) -> &Node<TI>[src]
Find a node by its id.
pub fn node_mut(&mut self, id: usize) -> &mut Node<TI>[src]
Find a node by its id.
pub fn nodes(&self) -> &[Node<TI>][src]
Access the nodes table.
pub fn nodes_mut(&mut self) -> &mut [Node<TI>][src]
Access the nodes table.
pub fn node_facts(&self, id: usize) -> TractResult<(TVec<&TI>, TVec<&TI>)>[src]
Get input and output tensor information for a node.
pub fn node_input_facts(&self, node_id: usize) -> TractResult<TVec<&TI>>[src]
Get input tensor information for a node.
pub fn node_output_facts(&self, node_id: usize) -> TractResult<TVec<&TI>>[src]
Get output tensor information for a node.
pub fn outlet_fact(&self, outlet: OutletId) -> TractResult<&TI>[src]
Get tensor information for a single outlet.
pub fn set_outlet_fact(&mut self, outlet: OutletId, fact: TI) -> TractResult<()>[src]
Set tensor information for a single outlet.
pub fn eval_order(&self) -> TractResult<Vec<usize>>[src]
Computes an evalutation order for the graph inputs and outputs
pub fn check_edges(&self) -> TractResult<()>[src]
Performs a sanity check on network connections.
Trait Implementations
impl<TI: TensorInfo> Default for ModelPatch<TI>[src]
fn default() -> ModelPatch<TI>[src]
impl<TI: Clone + TensorInfo> Clone for ModelPatch<TI>[src]
fn clone(&self) -> ModelPatch<TI>[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl<TI: TensorInfo> DerefMut for ModelPatch<TI>[src]
impl<TI: TensorInfo> Deref for ModelPatch<TI>[src]
impl<TI: Debug + TensorInfo> Debug for ModelPatch<TI>[src]
Auto Trait Implementations
impl<TI> Send for ModelPatch<TI> where
TI: Send,
TI: Send,
impl<TI> Sync for ModelPatch<TI> where
TI: Sync,
TI: Sync,
Blanket Implementations
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Downcast for T where
T: Any, [src]
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>[src]
fn as_any(&self) -> &(dyn Any + 'static)[src]
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]
impl<T> Clone for T where
T: Clone, [src]
T: Clone,