pub struct ModelProfile {
pub layers: Vec<LayerProfile>,
pub total_parameters: u64,
pub total_flops: u64,
pub total_memory: u64,
pub execution_breakdown: HashMap<String, f64>,
pub memory_hotspots: Vec<(String, u64)>,
pub computation_hotspots: Vec<(String, u64)>,
}Expand description
Complete model profile
Fields§
§layers: Vec<LayerProfile>Individual layer profiles
total_parameters: u64Total parameters
total_flops: u64Total FLOPs
total_memory: u64Total memory footprint (bytes)
execution_breakdown: HashMap<String, f64>Execution time breakdown
memory_hotspots: Vec<(String, u64)>Memory hotspots (layers using most memory)
computation_hotspots: Vec<(String, u64)>Computation hotspots (layers with most FLOPs)
Trait Implementations§
Source§impl Clone for ModelProfile
impl Clone for ModelProfile
Source§fn clone(&self) -> ModelProfile
fn clone(&self) -> ModelProfile
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ModelProfile
impl RefUnwindSafe for ModelProfile
impl Send for ModelProfile
impl Sync for ModelProfile
impl Unpin for ModelProfile
impl UnsafeUnpin for ModelProfile
impl UnwindSafe for ModelProfile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ProfiledStruct for T
impl<T> ProfiledStruct for T
Source§fn profiled_method<F, R>(&self, method_name: &str, func: F) -> Rwhere
F: FnOnce(&Self) -> R,
fn profiled_method<F, R>(&self, method_name: &str, func: F) -> Rwhere
F: FnOnce(&Self) -> R,
Execute a method with profiling
Source§fn profiled_method_mut<F, R>(&mut self, method_name: &str, func: F) -> Rwhere
F: FnOnce(&mut Self) -> R,
fn profiled_method_mut<F, R>(&mut self, method_name: &str, func: F) -> Rwhere
F: FnOnce(&mut Self) -> R,
Execute a mutable method with profiling
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§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 moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.