Skip to main content

SubsetDataset

Struct SubsetDataset 

Source
pub struct SubsetDataset<D>
where D: Dataset,
{ pub wrapped: Arc<D>, pub indices: Vec<usize>, }

Fields§

§wrapped: Arc<D>§indices: Vec<usize>

Implementations§

Source§

impl<D: Dataset> SubsetDataset<D>

Source

pub fn new(dataset: impl Into<Arc<D>>, indices: Vec<usize>) -> Self

Creates a new selection dataset with the given dataset and indices without checking bounds.

§Arguments
  • dataset - The original dataset to select from.
  • indices - A vector of indices to select from the dataset.
Source

pub fn from_indices( dataset: impl Into<Arc<D>>, indices: Vec<usize>, ) -> SubsetDatasetResult<Self>

Creates a new selection dataset with the given dataset and indices.

Checks that all indices are within the bounds of the dataset.

§Arguments
  • dataset - The original dataset to select from.
  • indices - A slice of indices to select from the dataset. These indices must be within the bounds of the dataset.
Source

pub fn select_all(dataset: impl Into<Arc<D>>) -> Self

Creates a new selection dataset that selects all indices from the dataset.

This allocates a 1-to-1 mapping of indices to the dataset size, essentially functioning as a no-op selection. This is only useful when the dataset will later be shuffled or transformed in place.

§Arguments
  • dataset - The original dataset to select from.
§Returns

A new SubsetDataset that selects all indices from the dataset.

Source

pub fn slice(&self, start: usize, end: usize) -> SubsetDatasetResult<Self>

Creates a new dataset that is a slice of the current selection dataset.

Slices the selection indices from [start..end].

Independent of future shuffles on the parent, but shares the same wrapped dataset.

§Arguments
  • start - The start of the range.
  • end - The end of the range (exclusive).
Source

pub fn split(&self, num: usize) -> SubsetDatasetResult<Vec<Self>>

Split into num datasets by slicing the selection indices evenly.

Split is done via slice, so the datasets share the same wrapped dataset.

Independent of future shuffles on the parent, but shares the same wrapped dataset.

§Arguments
  • num - The number of datasets to split into.
§Returns

A vector of SubsetDataset instances, each containing a subset of the indices.

Trait Implementations§

Source§

impl<D: Dataset> Dataset for SubsetDataset<D>

Source§

type Item = <D as Dataset>::Item

Source§

type Error = <D as Dataset>::Error

Source§

fn get(&self, index: usize) -> Result<Option<Self::Item>, Self::Error>

Gets the item at the given index.
Source§

fn len(&self) -> usize

Gets the number of items in the dataset.
Source§

fn is_empty(&self) -> bool

Checks if the dataset is empty.
Source§

fn iter(&self) -> DatasetIterator<'_, Self> ⓘ
where Self: Sized,

Returns an iterator over the dataset.

Auto Trait Implementations§

§

impl<D> Freeze for SubsetDataset<D>
where Arc<D>: Freeze,

§

impl<D> RefUnwindSafe for SubsetDataset<D>
where Arc<D>: RefUnwindSafe,

§

impl<D> Send for SubsetDataset<D>
where Arc<D>: Send,

§

impl<D> Sync for SubsetDataset<D>
where Arc<D>: Sync,

§

impl<D> Unpin for SubsetDataset<D>
where Arc<D>: Unpin,

§

impl<D> UnsafeUnpin for SubsetDataset<D>
where Arc<D>: UnsafeUnpin,

§

impl<D> UnwindSafe for SubsetDataset<D>
where Arc<D>: UnwindSafe,

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more