burn_tensor::backend

Trait BackendBridge

Source
pub trait BackendBridge<Origin: Backend>:
    Send
    + Sync
    + Debug {
    type Target: Backend;

    // Required methods
    fn into_target(
        tensor: FloatTensor<Origin>,
        device: Option<Device<Self::Target>>,
    ) -> FloatTensor<Self::Target>;
    fn from_target(
        tensor: FloatTensor<Self::Target>,
        device: Option<Device<Origin>>,
    ) -> FloatTensor<Origin>;
}
Expand description

Allows tensors to be transferred between backends efficiently.

Required Associated Types§

Source

type Target: Backend

The target backend

Required Methods§

Source

fn into_target( tensor: FloatTensor<Origin>, device: Option<Device<Self::Target>>, ) -> FloatTensor<Self::Target>

Transfer the tensor to the target backend.

Source

fn from_target( tensor: FloatTensor<Self::Target>, device: Option<Device<Origin>>, ) -> FloatTensor<Origin>

Transfer the tensor from the target backend.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§