ai-dataloader 0.6.2

Rust implementation to the PyTorch DataLoader
Documentation
use ai_dataloader::indexable::DataLoader;
use ndarray::array;

#[test]
fn text_classification() {
    let dataset = vec![
        (0, "I'm happy"),
        (1, "I'm sad"),
        (0, "It feel goo"),
        (0, "Let's go!"),
    ];
    let loader = DataLoader::builder(dataset).build();
    let mut loader = loader.iter();
    assert_eq!(loader.next(), Some((array![0], vec!["I'm happy"])));
    assert_eq!(loader.next(), Some((array![1], vec!["I'm sad"])));
    assert_eq!(loader.next(), Some((array![0], vec!["It feel goo"])));
    assert_eq!(loader.next(), Some((array![0], vec!["Let's go!"])));
    assert_eq!(loader.next(), None);
}

#[test]
fn text_classification_batch() {
    let dataset = vec![
        (0, "I'm happy"),
        (1, "I'm sad"),
        (0, "It feel goo"),
        (0, "Let's go!"),
    ];
    let loader = DataLoader::builder(dataset).batch_size(2).build();
    let mut loader = loader.iter();
    assert_eq!(
        loader.next(),
        Some((array![0, 1], vec!["I'm happy", "I'm sad"]))
    );
    assert_eq!(
        loader.next(),
        Some((array![0, 0], vec!["It feel goo", "Let's go!"]))
    );
}