Skip to main content

Session

Struct Session 

Source
pub struct Session { /* private fields */ }
Expand description

An inference session.

Sessions hold the runtime state for model inference, including allocated memory and intermediate tensors.

§Thread Safety

Sessions can be used from multiple threads, but run() must not be called concurrently on the same session.

Implementations§

Source§

impl Session

Source

pub fn get_input(&self, name: Option<&str>) -> MnnResult<Tensor>

Get an input tensor by name.

§Arguments
  • name - The name of the input tensor (None for the first input)
§Returns

A mutable reference to the input tensor.

Source

pub fn get_output(&self, name: Option<&str>) -> MnnResult<Tensor>

Get an output tensor by name.

§Arguments
  • name - The name of the output tensor (None for the first output)
§Returns

A reference to the output tensor.

Source

pub fn run(&mut self) -> MnnResult<()>

Run inference.

This executes the model on the current input tensors and populates the output tensors.

§Returns

Ok(()) on success, or an error on failure.

Source

pub fn has_run(&self) -> bool

Check if the session has been run at least once.

Source

pub fn memory_usage(&self) -> usize

Get the memory usage of this session in bytes.

Source

pub fn flops(&self) -> f32

Get the FLOPS count of this session.

Source

pub fn inner(&self) -> *mut MNNSession

Get the raw pointer to the underlying MNN session.

§Safety

The returned pointer is owned by this Session and must not be freed.

Source

pub fn inner_mut(&mut self) -> *mut MNNSession

Get the mutable raw pointer to the underlying MNN session.

§Safety

The returned pointer is owned by this Session and must not be freed.

Source

pub fn interpreter(&self) -> *mut MNNInterpreter

Get the interpreter pointer (not owned).

§Safety

The returned pointer is owned by the Interpreter.

Source

pub unsafe fn from_ptr( inner: *mut MNNSession, interpreter: *mut MNNInterpreter, ) -> Self

Create a new session from raw pointers.

§Safety

The pointers must be valid and the interpreter must outlive the session.

Trait Implementations§

Source§

impl Debug for Session

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for Session

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for Session

Source§

impl Sync for Session

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.