Skip to main content

ShapeOps

Trait ShapeOps 

Source
pub trait ShapeOps {
    // Required methods
    fn reshape(&self, new_shape: &[usize]) -> Result<Tensor>;
    fn flatten(&self) -> Result<Tensor>;
    fn flatten_from(&self, start_dim: usize) -> Result<Tensor>;
    fn squeeze(&self) -> Result<Tensor>;
    fn squeeze_dim(&self, dim: usize) -> Result<Tensor>;
    fn unsqueeze(&self, dim: usize) -> Result<Tensor>;
    fn permute(&self, dims: &[usize]) -> Result<Tensor>;
    fn expand(&self, new_shape: &[usize]) -> Result<Tensor>;
    fn view(&self, new_shape: &[usize]) -> Result<Tensor>;
}
Expand description

Trait for shape manipulation operations on tensors.

Required Methods§

Source

fn reshape(&self, new_shape: &[usize]) -> Result<Tensor>

Reshape the tensor to a new shape.

Source

fn flatten(&self) -> Result<Tensor>

Flatten the tensor to 1D.

Source

fn flatten_from(&self, start_dim: usize) -> Result<Tensor>

Flatten starting from a specific dimension.

Source

fn squeeze(&self) -> Result<Tensor>

Remove dimensions of size 1.

Source

fn squeeze_dim(&self, dim: usize) -> Result<Tensor>

Remove a specific dimension of size 1.

Source

fn unsqueeze(&self, dim: usize) -> Result<Tensor>

Add a dimension of size 1.

Source

fn permute(&self, dims: &[usize]) -> Result<Tensor>

Permute the dimensions of the tensor.

Source

fn expand(&self, new_shape: &[usize]) -> Result<Tensor>

Expand the tensor to a new shape (broadcasting).

Source

fn view(&self, new_shape: &[usize]) -> Result<Tensor>

View the tensor with a new shape (no data copy).

Implementors§