pub struct InstructionDataLoader<C: CustomCollator<BatchItem = Tensor>> { /* private fields */ }
Expand description
[Listing 7.6] Initializing the data loaders (InstructionDataLoader
)
Implementations§
Source§impl<C: CustomCollator<BatchItem = Tensor> + Clone> InstructionDataLoader<C>
impl<C: CustomCollator<BatchItem = Tensor> + Clone> InstructionDataLoader<C>
Sourcepub fn new(
dataset: InstructionDataset,
batch_size: usize,
shuffle: bool,
drop_last: bool,
collator: C,
) -> Self
pub fn new( dataset: InstructionDataset, batch_size: usize, shuffle: bool, drop_last: bool, collator: C, ) -> Self
Creates a new InstructionDataLoader
.
use candle_core::Device;
use llms_from_scratch_rs::listings::ch07::{
AlpacaPromptFormatter, InstructionDataCollator, InstructionDataset,
InstructionDataLoader, InstructionResponseExample
};
use tiktoken_rs::get_bpe_from_model;
let entry = InstructionResponseExample::new(
"Some instruction",
None,
"Some output"
);
let data = vec![entry];
let tokenizer = get_bpe_from_model("gpt2").unwrap();
let prompt_formatter = AlpacaPromptFormatter;
let dataset = InstructionDataset::new(data, &tokenizer, &prompt_formatter);
// create InstructionDataLoader
let batch_size = 2_usize;
let shuffle = false;
let drop_last = false;
let collator = InstructionDataCollator::default();
let data_loader = InstructionDataLoader::new(
dataset, batch_size, shuffle, drop_last, collator
);
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn dataset(&self) -> &InstructionDataset
Trait Implementations§
Source§impl<C: CustomCollator<BatchItem = Tensor> + Clone> DataLoader for InstructionDataLoader<C>
impl<C: CustomCollator<BatchItem = Tensor> + Clone> DataLoader for InstructionDataLoader<C>
Source§fn batcher(
&self,
) -> InstructionDataBatcher<C, IterResult1<InstructionDatasetIter>> ⓘ
fn batcher( &self, ) -> InstructionDataBatcher<C, IterResult1<InstructionDatasetIter>> ⓘ
Returns a InstructionDataBatcher
that itself provides batches over the
associated dataset.
type Batcher = InstructionDataBatcher<C, IterResult1<InstructionDatasetIter>>
Auto Trait Implementations§
impl<C> Freeze for InstructionDataLoader<C>where
C: Freeze,
impl<C> RefUnwindSafe for InstructionDataLoader<C>where
C: RefUnwindSafe,
impl<C> !Send for InstructionDataLoader<C>
impl<C> !Sync for InstructionDataLoader<C>
impl<C> Unpin for InstructionDataLoader<C>where
C: Unpin,
impl<C> UnwindSafe for InstructionDataLoader<C>where
C: UnwindSafe,
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> 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