pub struct TensorMetadata {
pub name: String,
pub shape: Vec<usize>,
pub dtype: TensorDtype,
pub strides: Option<Vec<usize>>,
pub custom: HashMap<String, String>,
}Expand description
Tensor metadata for self-describing tensors
Fields§
§name: StringTensor name
shape: Vec<usize>Shape dimensions
dtype: TensorDtypeData type
strides: Option<Vec<usize>>Strides (in elements, not bytes)
custom: HashMap<String, String>Custom metadata fields
Implementations§
Source§impl TensorMetadata
impl TensorMetadata
Sourcepub fn new(name: String, shape: Vec<usize>, dtype: TensorDtype) -> Self
pub fn new(name: String, shape: Vec<usize>, dtype: TensorDtype) -> Self
Create new tensor metadata
Sourcepub fn with_strides(self, strides: Vec<usize>) -> Self
pub fn with_strides(self, strides: Vec<usize>) -> Self
Set strides
Sourcepub fn with_custom(self, key: String, value: String) -> Self
pub fn with_custom(self, key: String, value: String) -> Self
Add custom metadata
Sourcepub fn size_bytes(&self) -> usize
pub fn size_bytes(&self) -> usize
Get the size in bytes
Sourcepub fn compute_strides(&self) -> Vec<usize>
pub fn compute_strides(&self) -> Vec<usize>
Compute default strides (row-major order)
Sourcepub fn get_strides(&self) -> Vec<usize>
pub fn get_strides(&self) -> Vec<usize>
Get strides (computed if not specified)
Trait Implementations§
Source§impl Clone for TensorMetadata
impl Clone for TensorMetadata
Source§fn clone(&self) -> TensorMetadata
fn clone(&self) -> TensorMetadata
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 moreSource§impl Debug for TensorMetadata
impl Debug for TensorMetadata
Source§impl<'de> Deserialize<'de> for TensorMetadata
impl<'de> Deserialize<'de> for TensorMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TensorMetadata
impl RefUnwindSafe for TensorMetadata
impl Send for TensorMetadata
impl Sync for TensorMetadata
impl Unpin for TensorMetadata
impl UnwindSafe for TensorMetadata
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 more