Trait burn_core::record::Recorder

source ·
pub trait Recorder<B: Backend>: Send + Sync + Default + Debug + Clone {
    type Settings: PrecisionSettings;
    type RecordArgs: Clone;
    type RecordOutput;
    type LoadArgs: Clone;

    // Required methods
    fn save_item<I: Serialize>(
        &self,
        item: I,
        args: Self::RecordArgs
    ) -> Result<Self::RecordOutput, RecorderError>;
    fn load_item<I>(&self, args: Self::LoadArgs) -> Result<I, RecorderError>
       where I: DeserializeOwned;

    // Provided methods
    fn record<R>(
        &self,
        record: R,
        args: Self::RecordArgs
    ) -> Result<Self::RecordOutput, RecorderError>
       where R: Record<B> { ... }
    fn load<R>(
        &self,
        args: Self::LoadArgs,
        device: &B::Device
    ) -> Result<R, RecorderError>
       where R: Record<B> { ... }
}
Expand description

Record any item implementing Serialize and DeserializeOwned.

Required Associated Types§

source

type Settings: PrecisionSettings

Type of the settings used by the recorder.

source

type RecordArgs: Clone

Arguments used to record objects.

source

type RecordOutput

Record output type.

source

type LoadArgs: Clone

Arguments used to load recorded objects.

Required Methods§

source

fn save_item<I: Serialize>( &self, item: I, args: Self::RecordArgs ) -> Result<Self::RecordOutput, RecorderError>

Saves an item.

This method is used by record to save the item.

§Arguments
  • item - Item to save.
  • args - Arguments to use to save the item.
§Returns

The output of the save operation.

source

fn load_item<I>(&self, args: Self::LoadArgs) -> Result<I, RecorderError>

Loads an item.

This method is used by load to load the item.

§Arguments
  • args - Arguments to use to load the item.
§Returns

The loaded item.

Provided Methods§

source

fn record<R>( &self, record: R, args: Self::RecordArgs ) -> Result<Self::RecordOutput, RecorderError>
where R: Record<B>,

Records an item.

§Arguments
  • record - The item to record.
  • args - Arguments used to record the item.
§Returns

The output of the recording.

source

fn load<R>( &self, args: Self::LoadArgs, device: &B::Device ) -> Result<R, RecorderError>
where R: Record<B>,

Load an item from the given arguments.

Object Safety§

This trait is not object safe.

Implementors§