pub struct TensorOwnedView { /* private fields */ }Expand description
Owned lazy tensor view over a shared base tensor.
This stores only ownership of the base allocation plus logical layout
metadata. Borrow it as TensorRead and materialize it through an active
backend session when compact storage is required.
Implementations§
Source§impl TensorOwnedView
impl TensorOwnedView
Sourcepub fn from_tensor(base: Arc<Tensor>) -> Self
pub fn from_tensor(base: Arc<Tensor>) -> Self
Create an owned view preserving the base tensor’s current layout.
Sourcepub fn from_parts(
base: Arc<Tensor>,
shape: Vec<usize>,
strides: Vec<isize>,
offset: isize,
) -> Result<Self>
pub fn from_parts( base: Arc<Tensor>, shape: Vec<usize>, strides: Vec<isize>, offset: isize, ) -> Result<Self>
Create an owned view with explicit layout metadata.
§Errors
Returns crate::Error::Validation with
tenferro_tensor_core::ValidationError::RankMismatch when shape and
strides have different ranks,
tenferro_tensor_core::ValidationError::ViewOutOfBounds when the
layout exceeds the base tensor buffer, or
tenferro_tensor_core::ValidationError::IntegerOverflow for layout
arithmetic overflow.
pub fn dtype(&self) -> DType
pub fn shape(&self) -> &[usize]
pub fn strides(&self) -> &[isize]
pub fn offset(&self) -> isize
pub fn tensor_view(&self) -> TensorView<'_>
pub fn tensor_read(&self) -> TensorRead<'_>
Sourcepub fn transpose_view(&self, axes: impl AsRef<[usize]>) -> Result<Self>
pub fn transpose_view(&self, axes: impl AsRef<[usize]>) -> Result<Self>
§Errors
Returns crate::Error::Validation with
tenferro_tensor_core::ValidationError::InvalidPermutationLength,
tenferro_tensor_core::ValidationError::AxisOutOfBounds, or
tenferro_tensor_core::ValidationError::DuplicateAxis when axes is
not a valid permutation of the view rank.
Sourcepub fn reshape_view(&self, shape: impl IntoShapeVec) -> Result<Self>
pub fn reshape_view(&self, shape: impl IntoShapeVec) -> Result<Self>
§Errors
Returns crate::Error::Validation with
tenferro_tensor_core::ValidationError::NonContiguousViewAsSlice when
the source is not compact column-major,
tenferro_tensor_core::ValidationError::ShapeMismatch (whose
tenferro_tensor_core::ShapeMismatch::ReshapeElementCount source
records the counts) when element counts differ,
tenferro_tensor_core::ValidationError::IntegerOverflow for shape
arithmetic overflow, or
tenferro_tensor_core::ValidationError::ViewOutOfBounds when the
reshaped view exceeds the base buffer.
Sourcepub fn slice_view(&self, config: &SliceConfig) -> Result<Self>
pub fn slice_view(&self, config: &SliceConfig) -> Result<Self>
§Errors
Returns crate::Error::Validation with
tenferro_tensor_core::ValidationError::RankMismatch when a slice
vector does not match the view rank,
tenferro_tensor_core::ValidationError::InvalidArgument when a bound
or stride cannot be represented or is invalid,
tenferro_tensor_core::ValidationError::InvalidSliceStep or
tenferro_tensor_core::ValidationError::InvalidSliceBounds for slice
parameters, tenferro_tensor_core::ValidationError::IntegerOverflow
for slice arithmetic overflow, or
tenferro_tensor_core::ValidationError::ViewOutOfBounds when the
result exceeds the base buffer.
Sourcepub fn broadcast_in_dim_view(
&self,
shape: impl IntoShapeVec,
dims: impl AsRef<[usize]>,
) -> Result<Self>
pub fn broadcast_in_dim_view( &self, shape: impl IntoShapeVec, dims: impl AsRef<[usize]>, ) -> Result<Self>
§Errors
Returns crate::Error::Validation with
tenferro_tensor_core::ValidationError::RankMismatch,
tenferro_tensor_core::ValidationError::AxisOutOfBounds, or
tenferro_tensor_core::ValidationError::DuplicateAxis for invalid
dimension mappings,
tenferro_tensor_core::ValidationError::ShapeDataLengthMismatch for
incompatible extents,
tenferro_tensor_core::ValidationError::ViewOutOfBounds when the
result exceeds the base buffer, or
tenferro_tensor_core::ValidationError::IntegerOverflow for layout
arithmetic overflow.
Trait Implementations§
Source§impl Clone for TensorOwnedView
impl Clone for TensorOwnedView
Source§fn clone(&self) -> TensorOwnedView
fn clone(&self) -> TensorOwnedView
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TensorOwnedView
impl !RefUnwindSafe for TensorOwnedView
impl Send for TensorOwnedView
impl Sync for TensorOwnedView
impl Unpin for TensorOwnedView
impl UnsafeUnpin for TensorOwnedView
impl !UnwindSafe for TensorOwnedView
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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