pub struct MemoryBuffer {
pub inputs: Vec<Tensor>,
pub targets: Vec<Tensor>,
pub task_ids: Vec<usize>,
pub priorities: Vec<f32>,
pub max_size: usize,
pub insertion_ptr: usize,
pub selection_strategy: MemorySelectionStrategy,
}Expand description
Memory buffer for storing past experiences
Fields§
§inputs: Vec<Tensor>Stored examples (inputs)
targets: Vec<Tensor>Stored targets
task_ids: Vec<usize>Task IDs for each example
priorities: Vec<f32>Example priorities/weights
max_size: usizeMaximum buffer size
insertion_ptr: usizeCurrent insertion pointer
selection_strategy: MemorySelectionStrategySelection strategy
Implementations§
Source§impl MemoryBuffer
impl MemoryBuffer
Sourcepub fn new(max_size: usize, selection_strategy: MemorySelectionStrategy) -> Self
pub fn new(max_size: usize, selection_strategy: MemorySelectionStrategy) -> Self
Create a new memory buffer
Sourcepub fn add_example(
&mut self,
input: Tensor,
target: Tensor,
task_id: usize,
priority: f32,
)
pub fn add_example( &mut self, input: Tensor, target: Tensor, task_id: usize, priority: f32, )
Add a new example to the buffer
Sourcepub fn sample_batch(
&self,
batch_size: usize,
) -> Result<(Vec<Tensor>, Vec<Tensor>, Vec<usize>)>
pub fn sample_batch( &self, batch_size: usize, ) -> Result<(Vec<Tensor>, Vec<Tensor>, Vec<usize>)>
Sample a batch from the buffer
Trait Implementations§
Source§impl Clone for MemoryBuffer
impl Clone for MemoryBuffer
Source§fn clone(&self) -> MemoryBuffer
fn clone(&self) -> MemoryBuffer
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MemoryBuffer
impl RefUnwindSafe for MemoryBuffer
impl Send for MemoryBuffer
impl Sync for MemoryBuffer
impl Unpin for MemoryBuffer
impl UnsafeUnpin for MemoryBuffer
impl UnwindSafe for MemoryBuffer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more