pub struct RandomSampler { /* private fields */ }Expand description
Random sampler that yields indices in random order
This sampler shuffles the indices and yields them in random order. Can optionally sample with or without replacement and control the number of samples returned.
§Examples
use torsh_data::sampler::{RandomSampler, Sampler};
// Sample all indices in random order
let sampler = RandomSampler::new(5, None, false).with_generator(42);
let indices: Vec<usize> = sampler.iter().collect();
assert_eq!(indices.len(), 5);
// Sample 3 indices without replacement
let sampler = RandomSampler::new(10, Some(3), false).with_generator(42);
let indices: Vec<usize> = sampler.iter().collect();
assert_eq!(indices.len(), 3);Implementations§
Source§impl RandomSampler
impl RandomSampler
Sourcepub fn with_replacement(
dataset_size: usize,
replacement: bool,
num_samples: Option<usize>,
) -> Self
pub fn with_replacement( dataset_size: usize, replacement: bool, num_samples: Option<usize>, ) -> Self
Sourcepub fn with_generator(self, seed: u64) -> Self
pub fn with_generator(self, seed: u64) -> Self
Sourcepub fn dataset_size(&self) -> usize
pub fn dataset_size(&self) -> usize
Get the dataset size
Sourcepub fn num_samples(&self) -> usize
pub fn num_samples(&self) -> usize
Get the number of samples that will be yielded
Sourcepub fn replacement(&self) -> bool
pub fn replacement(&self) -> bool
Check if sampling with replacement
Trait Implementations§
Source§impl Clone for RandomSampler
impl Clone for RandomSampler
Source§fn clone(&self) -> RandomSampler
fn clone(&self) -> RandomSampler
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 moreSource§impl Debug for RandomSampler
impl Debug for RandomSampler
Source§impl Sampler for RandomSampler
impl Sampler for RandomSampler
Source§type Iter = SamplerIterator
type Iter = SamplerIterator
Iterator type returned by the sampler
Source§fn into_batch_sampler(
self,
batch_size: usize,
drop_last: bool,
) -> BatchingSampler<Self>where
Self: Sized,
fn into_batch_sampler(
self,
batch_size: usize,
drop_last: bool,
) -> BatchingSampler<Self>where
Self: Sized,
Convert this sampler into a batch sampler
Source§fn into_distributed(
self,
num_replicas: usize,
rank: usize,
) -> DistributedWrapper<Self>where
Self: Sized,
fn into_distributed(
self,
num_replicas: usize,
rank: usize,
) -> DistributedWrapper<Self>where
Self: Sized,
Create a distributed version of this sampler
Auto Trait Implementations§
impl Freeze for RandomSampler
impl RefUnwindSafe for RandomSampler
impl Send for RandomSampler
impl Sync for RandomSampler
impl Unpin for RandomSampler
impl UnwindSafe for RandomSampler
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.