Struct Tensor

Source
#[repr(C)]
pub struct Tensor { /* private fields */ }
Expand description

ABI stable owned Shape for ffi

Implementations§

Source§

impl Tensor

Source

pub fn data_ptr(&self) -> *const c_void

Get the data pointer of the Tensor

§Returns
  • *mut core::ffi::c_void - The data pointer of the Tensor
Source

pub fn data_ptr_mut(&mut self) -> *mut c_void

Get the data pointer of the Tensor

§Returns
  • *mut core::ffi::c_void - The data pointer of the Tensor
Source

pub fn is_contiguous(&self) -> bool

Check if the Tensor is contiguous

§Returns
  • bool - True if the Tensor is contiguous, false otherwise
Source

pub fn data_as_slice<T: AsDLDataType>(&self) -> Result<&[T]>

Source

pub fn data_as_slice_mut<T: AsDLDataType>(&self) -> Result<&mut [T]>

Get the data as a mutable slice

Note that we do allow mutable data access to copies of the Tensor, as in the case of low-level deep learning frameworks.

§Arguments
  • T - The type of the data
§Returns
  • Result<&mut [T]> - The data as a mutable slice
Source

pub fn shape(&self) -> &[i64]

Source

pub fn ndim(&self) -> usize

Source

pub fn numel(&self) -> usize

Source

pub fn strides(&self) -> &[i64]

Source

pub fn dtype(&self) -> DLDataType

Source

pub fn device(&self) -> DLDevice

Source§

impl Tensor

Source

pub fn from_nd_alloc<TNDAlloc>( alloc: TNDAlloc, shape: &[i64], dtype: DLDataType, device: DLDevice, ) -> Self
where TNDAlloc: NDAllocator,

§Arguments
  • alloc - The NDAllocator
  • shape - The shape of the Tensor
  • dtype - The data type of the Tensor
  • device - The device of the Tensor
§Returns
  • Tensor - The created Tensor
Source

pub fn from_slice<T: AsDLDataType>(slice: &[T], shape: &[i64]) -> Result<Self>

Create a Tensor from a slice

§Arguments
  • slice - The slice to create the Tensor from
  • shape - The shape of the Tensor
§Returns
  • Tensor - The created Tensor

Trait Implementations§

Source§

impl AnyCompatible for Tensor

Source§

fn type_str() -> String

the type string of the type
Source§

unsafe fn copy_to_any_view(src: &Self, data: &mut TVMFFIAny)

the value to copy to TVMFFIAny
Source§

unsafe fn check_any_strict(data: &TVMFFIAny) -> bool

Source§

unsafe fn copy_from_any_view_after_check(data: &TVMFFIAny) -> Self

Copy value from TVMFFIAny after checking caller must ensure that the value is compatible with the type
Source§

unsafe fn move_to_any(src: Self, data: &mut TVMFFIAny)

consume the value to move to Any
Source§

unsafe fn move_from_any_after_check(data: &mut TVMFFIAny) -> Self

the value to move from TVMFFIAny NOTE: pay very careful attention to avoid memory leak! Read more
Source§

unsafe fn try_cast_from_any_view(data: &TVMFFIAny) -> Result<Self, ()>

try to cast the value from AnyView
Source§

fn get_mismatch_type_info(data: &TVMFFIAny) -> String

Get the type key of a type when TryCastFromAnyView fails.
Source§

impl<'a> ArgIntoRef for &'a Tensor

Source§

type Target = Tensor

Source§

fn to_ref(&self) -> &Self::Target

Source§

impl ArgIntoRef for Tensor

Source§

type Target = Tensor

Source§

fn to_ref(&self) -> &Self::Target

Source§

impl Clone for Tensor

Source§

fn clone(&self) -> Tensor

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> IntoArgHolder for &'a Tensor

Source§

impl IntoArgHolder for Tensor

Source§

impl ObjectRefCore for Tensor

Source§

impl TryFrom<Any> for Tensor

Source§

type Error = Error

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

fn try_from(value: Any) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<AnyView<'a>> for Tensor

Source§

type Error = Error

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

fn try_from(value: AnyView<'a>) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

§

impl Freeze for Tensor

§

impl RefUnwindSafe for Tensor

§

impl !Send for Tensor

§

impl !Sync for Tensor

§

impl Unpin for Tensor

§

impl UnwindSafe for Tensor

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.