Skip to main content

Tensor

Struct Tensor 

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

A typed, shaped buffer of data.

Tensors hold raw bytes with a dtype and shape. Data is reference-counted so cloning a tensor is cheap (no copy). The actual bytes are only copied when mutated (copy-on-write).

Implementations§

Source§

impl Tensor

Source

pub fn f32(data: &[f32], shape: Vec<usize>) -> Self

Create a float32 tensor from a slice of f32 values.

Source

pub fn f64(data: &[f64], shape: Vec<usize>) -> Self

Create a float64 tensor from a slice of f64 values.

Source

pub fn u8(data: Vec<u8>, shape: Vec<usize>) -> Self

Create a uint8 tensor (images, raw bytes).

Source

pub fn i32(data: &[i32], shape: Vec<usize>) -> Self

Create an int32 tensor.

Source

pub fn i64(data: &[i64], shape: Vec<usize>) -> Self

Create an int64 tensor (labels, indices).

Source

pub fn bytes(data: Vec<u8>) -> Self

Create a raw bytes tensor (untyped).

Source

pub fn from_bytes( data: Vec<u8>, dtype: DType, shape: Vec<usize>, ) -> Result<Self>

Create a tensor from raw bytes, dtype, and shape.

§Errors

Returns an error if the provided byte length does not match the product of shape elements multiplied by the element size for the given dtype.

Source

pub fn dtype(&self) -> DType

The element type of this tensor.

Source

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

The shape of this tensor.

Source

pub fn num_elements(&self) -> Option<usize>

Total number of elements.

Returns None if the element count overflows usize.

Source

pub fn as_bytes(&self) -> &[u8]

Raw byte data (for zero-copy transfer to numpy/torch).

Source

pub fn try_as_f32(&self) -> Result<&[f32]>

Interpret data as f32 slice.

§Errors

Returns an error if the tensor’s dtype is not f32.

Source

pub fn try_as_f64(&self) -> Result<&[f64]>

Interpret data as f64 slice.

§Errors

Returns an error if the tensor’s dtype is not f64.

Source

pub fn try_as_i32(&self) -> Result<&[i32]>

Interpret data as i32 slice.

§Errors

Returns an error if the tensor’s dtype is not i32.

Source

pub fn try_as_i64(&self) -> Result<&[i64]>

Interpret data as i64 slice.

§Errors

Returns an error if the tensor’s dtype is not i64.

Source

pub fn byte_len(&self) -> usize

Byte length of the data buffer.

Trait Implementations§

Source§

impl Clone for Tensor

Source§

fn clone(&self) -> Tensor

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Tensor

Source§

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

Formats the value using the given formatter. Read more

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> 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more