pub trait Tensor: HasArrayType + HasArrayData + HasDevice + CanUpdateWithGradients + HasUniqueId + IntoPhantom {
    type Tape: Tape;
    type NoTape: 'static + Tensor<Array = Self::Array, Dtype = Self::Dtype, Tape = NoneTape, NoTape = Self::NoTape> + TensorCreator + PutTape<Self::Tape, Output = Self> + Clone;
    type OwnedTape: 'static + Tensor<Array = Self::Array, Dtype = Self::Dtype, Tape = OwnedTape, OwnedTape = Self::OwnedTape>;

    fn split_tape(self) -> (Self::NoTape, Self::Tape);
    fn duplicate(&self) -> Self::NoTape;
}
Expand description

The main tensor trait. A tensor consists of mainly 1. an array, 2. a device, 3. a unique id.

Required Associated Types

The Tape this tensor owns.

This tensor but with NoneTape.

This tensor but with OwnedTape

Required Methods

Removes whatever Tape this tensor has and returns itself without a tape.

Clones the data & UniqueId of this tensor and returns something with NoneTape.

Implementors