← Back

Module data

trait Dataset

Dataset trait

Source: data.joule:11

fn len(&self) -> usize;

Get dataset length

Source: data.joule:15

fn is_empty(&self) -> bool

Check if dataset is empty

Source: data.joule:18

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

Get item at index

Source: data.joule:23

struct MapDataset

Map dataset (lazy transformation)

Source: data.joule:27

fn new(dataset: D, transform: F) -> Self

Source: data.joule:36

fn len(&self) -> usize

Source: data.joule:47

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

Source: data.joule:51

struct FilterDataset

Filter dataset

Source: data.joule:57

fn new(dataset: D, predicate: P) -> Self

Source: data.joule:67

fn len(&self) -> usize

Source: data.joule:85

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

Source: data.joule:89

struct ConcatDataset

Concatenated datasets

Source: data.joule:95

fn new(datasets: Vec<D>) -> Self

Source: data.joule:101

fn len(&self) -> usize

Source: data.joule:120

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

Source: data.joule:124

struct Subset

Subset of a dataset

Source: data.joule:146

fn new(dataset: D, indices: Vec<usize>) -> Self

Source: data.joule:152

fn random(dataset: D, size: usize) -> Self

Create random subset

Source: data.joule:157

fn len(&self) -> usize

Source: data.joule:171

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

Source: data.joule:175

struct TensorDataset

Tensor dataset (simple tuple of tensors)

Source: data.joule:181

fn new(tensors: Vec<Tensor>) -> Self

Source: data.joule:186

fn from_xy(x: Tensor, y: Tensor) -> Self

Create from features and labels

Source: data.joule:199

fn len(&self) -> usize

Source: data.joule:207

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

Source: data.joule:211

trait Collate

Batch collate function trait

Source: data.joule:230

fn collate(&self, batch: Vec<T>) -> Self::Output;

Source: data.joule:233

struct DefaultCollate;

Default collate for tensor tuples

Source: data.joule:237

fn collate(&self, batch: Vec<Vec<Tensor>>) -> Vec<Tensor>

Source: data.joule:242

trait Sampler

Sampler trait

Source: data.joule:258

fn iter(&self) -> Self::Iter;

Source: data.joule:261

fn len(&self) -> usize;

Source: data.joule:262

struct SequentialSampler

Sequential sampler

Source: data.joule:266

fn new(size: usize) -> Self

Source: data.joule:271

fn iter(&self) -> Self::Iter

Source: data.joule:279

fn len(&self) -> usize

Source: data.joule:283

struct RandomSampler

Random sampler

Source: data.joule:289

fn new(size: usize, replacement: bool, num_samples: Option<usize>) -> Self

Source: data.joule:294

fn iter(&self) -> Self::Iter

Source: data.joule:315

fn len(&self) -> usize

Source: data.joule:319

struct BatchSampler

Batch sampler

Source: data.joule:325

fn new(sampler: S, batch_size: usize, drop_last: bool) -> Self

Source: data.joule:332

struct DataLoaderConfig

Data loader configuration

Source: data.joule:342

fn default() -> Self

Source: data.joule:352

struct DataLoader

Data loader for iterating over datasets

Source: data.joule:365

fn new(dataset: D, collate: C, config: DataLoaderConfig) -> Self

Create new data loader

Source: data.joule:378

fn len(&self) -> usize

Get number of batches

Source: data.joule:389

fn shuffle(&mut self)

Shuffle indices (call at start of each epoch)

Source: data.joule:401

fn iter(&self) -> DataLoaderIter<D, C>

Source: data.joule:410

struct DataLoaderIter

Data loader iterator

Source: data.joule:416

fn new(loader: &'a DataLoader<D, C>) -> Self

Source: data.joule:422

fn next(&mut self) -> Option<Self::Item>

Source: data.joule:433

trait Transform

Transform trait

Source: data.joule:461

fn transform(&self, input: T) -> Self::Output;

Source: data.joule:464

struct Compose

Compose multiple transforms

Source: data.joule:468

fn new(transforms: Vec<Box<dyn Transform<T, Output = T>>>) -> Self

Source: data.joule:473

fn transform(&self, mut input: T) -> T

Source: data.joule:481

struct Normalize

Normalize transform

Source: data.joule:490

fn new(mean: Vec<f64>, std: Vec<f64>) -> Self

Source: data.joule:496

fn imagenet() -> Self

ImageNet normalization

Source: data.joule:501

fn transform(&self, input: Tensor) -> Tensor

Source: data.joule:513

struct RandomHorizontalFlip

Random horizontal flip

Source: data.joule:522

fn new(p: f64) -> Self

Source: data.joule:527

fn transform(&self, input: Tensor) -> Tensor

Source: data.joule:536

struct RandomVerticalFlip

Random vertical flip

Source: data.joule:548

fn new(p: f64) -> Self

Source: data.joule:553

fn transform(&self, input: Tensor) -> Tensor

Source: data.joule:562

struct RandomCrop

Random crop

Source: data.joule:574

fn new(size: (usize, usize), padding: usize) -> Self

Source: data.joule:580

fn transform(&self, input: Tensor) -> Tensor

Source: data.joule:589

struct CenterCrop

Center crop

Source: data.joule:610

fn new(size: (usize, usize)) -> Self

Source: data.joule:615

fn transform(&self, input: Tensor) -> Tensor

Source: data.joule:624

struct Resize

Resize

Source: data.joule:637

fn new(size: (usize, usize), mode: &str) -> Self

Source: data.joule:643

fn transform(&self, input: Tensor) -> Tensor

Source: data.joule:655

struct ColorJitter

Color jitter

Source: data.joule:661

fn new(brightness: f64, contrast: f64, saturation: f64, hue: f64) -> Self

Source: data.joule:669

fn transform(&self, input: Tensor) -> Tensor

Source: data.joule:683

struct RandomRotation

Random rotation

Source: data.joule:720

fn new(degrees: f64) -> Self

Source: data.joule:725

fn with_range(min_degrees: f64, max_degrees: f64) -> Self

Source: data.joule:731

fn transform(&self, input: Tensor) -> Tensor

Source: data.joule:742

struct ToTensor;

To tensor (from numpy-like array)

Source: data.joule:751

fn transform(&self, input: Vec<f64>) -> Tensor

Source: data.joule:756

struct RandomErasing

Random erasing (cutout)

Source: data.joule:762

fn new(p: f64, scale: (f64, f64), ratio: (f64, f64), value: f64) -> Self

Source: data.joule:770

fn transform(&self, input: Tensor) -> Tensor

Source: data.joule:779

fn random_split<D: Dataset>(

Split dataset into train/val/test

Source: data.joule:817

fn train_test_split<D: Dataset + Clone>(

Create train/test split

Source: data.joule:848

fn kfold<D: Dataset + Clone>(

Create k-fold cross validation splits

Source: data.joule:861