1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! # Data Loading Module
//!
//! PyTorch-style Dataset and DataLoader API for efficient data handling.
//!
//! ## Key Components
//!
//! - [`Dataset`]: Trait for defining data sources
//! - [`DataLoader`]: Batched data iterator with shuffle support
//! - [`Sampler`]: Data sampling strategies (sequential, random)
//! - [`Transform`]: Data transformations (normalize, augmentation)
//!
//! ## Example
//!
//! ```ignore
//! use rustyasg::data::{Dataset, DataLoader, InMemoryDataset};
//!
//! // Create dataset
//! let dataset = InMemoryDataset::new(features, labels);
//!
//! // Create DataLoader
//! let loader = DataLoader::new(dataset, 32)
//! .shuffle(true)
//! .drop_last(false);
//!
//! // Iterate over batches
//! for (batch_x, batch_y) in loader.iter() {
//! // Train on batch
//! }
//! ```
//!
//! ## Available Components
//!
//! ### Datasets
//! - [`InMemoryDataset`]: In-memory dataset with features and labels
//! - [`MapDataset`]: Dataset with transformation pipeline
//!
//! ### Samplers
//! - [`SequentialSampler`]: Iterate in order
//! - [`RandomSampler`]: Shuffle indices randomly
//! - [`BatchSampler`]: Group indices into batches
//!
//! ### Transforms
//! - [`Normalize`]: Normalize with mean and std
//! - [`RandomNoise`]: Add random noise for augmentation
//! - [`Compose`]: Chain multiple transforms
pub use ;
pub use ;
pub use ;
pub use ;