Struct SimpleReplayBufferConfig

Source
pub struct SimpleReplayBufferConfig {
    pub capacity: usize,
    pub seed: u64,
    pub per_config: Option<PerConfig>,
}
Expand description

Configuration for the replay buffer.

This structure defines the basic parameters for the replay buffer, including its capacity, random seed, and optional PER configuration.

§Fields

  • capacity - Maximum number of transitions to store
  • seed - Random seed for sampling
  • per_config - Optional configuration for prioritized experience replay

§Examples

use border_core::generic_replay_buffer::{SimpleReplayBufferConfig, PerConfig};

// Basic configuration
let config = SimpleReplayBufferConfig::default()
    .capacity(10000)
    .seed(42);

// Configuration with PER
let config_with_per = SimpleReplayBufferConfig::default()
    .capacity(10000)
    .seed(42)
    .per_config(Some(PerConfig::default()));

Fields§

§capacity: usize

Maximum number of transitions that can be stored in the buffer. When the buffer is full, new transitions replace the oldest ones.

§seed: u64

Random seed used for sampling transitions. This ensures reproducibility of the sampling process when the same seed is used.

§per_config: Option<PerConfig>

Optional configuration for prioritized experience replay. If None, transitions are sampled uniformly at random.

Implementations§

Source§

impl SimpleReplayBufferConfig

Source

pub fn capacity(self, capacity: usize) -> Self

Sets the capacity of the replay buffer.

§Arguments
  • capacity - The new capacity for the buffer
§Returns

The modified configuration

Source

pub fn seed(self, seed: u64) -> Self

Sets the random seed for sampling.

§Arguments
  • seed - The new random seed
§Returns

The modified configuration

Source

pub fn per_config(self, per_config: Option<PerConfig>) -> Self

Sets the configuration for prioritized experience replay.

§Arguments
  • per_config - The new PER configuration
§Returns

The modified configuration

Source

pub fn load(path: impl AsRef<Path>) -> Result<Self>

Loads the configuration from a YAML file.

§Arguments
  • path - Path to the configuration file
§Returns

The loaded configuration

§Errors

Returns an error if the file cannot be read or parsed

Source

pub fn save(&self, path: impl AsRef<Path>) -> Result<()>

Saves the configuration to a YAML file.

§Arguments
  • path - Path where the configuration should be saved
§Returns

Ok(()) if the configuration was saved successfully

§Errors

Returns an error if the file cannot be written

Trait Implementations§

Source§

impl Clone for SimpleReplayBufferConfig

Source§

fn clone(&self) -> SimpleReplayBufferConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SimpleReplayBufferConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SimpleReplayBufferConfig

Source§

fn default() -> Self

Creates a default replay buffer configuration with commonly used values:

  • capacity = 10000 (moderate buffer size)
  • seed = 42 (fixed random seed)
  • per_config = None (uniform sampling)
Source§

impl<'de> Deserialize<'de> for SimpleReplayBufferConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for SimpleReplayBufferConfig

Source§

fn eq(&self, other: &SimpleReplayBufferConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for SimpleReplayBufferConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for SimpleReplayBufferConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,