Skip to main content

A high-performance data loading library for JAX applications

Project description

JAX DataLoader

A high-performance data loading library for JAX, designed for efficient data loading and preprocessing in machine learning workflows.

Features

  • Efficient data loading with automatic batching
  • Multi-GPU support with automatic batch distribution
  • Memory management with automatic batch size tuning
  • Support for various data formats (CSV, JSON, Images)
  • Progress tracking and statistics
  • Data caching and prefetching
  • Error handling and recovery

Installation

pip install jax-dataloader

Quick Start

from jax_dataloader import JAXDataLoader, DataLoaderConfig

# Create a DataLoader configuration
config = DataLoaderConfig(
    batch_size=32,
    num_workers=4,
    multi_gpu=True
)

# Load your data
dataloader = JAXDataLoader(
    data_path="path/to/your/data",
    config=config
)

# Iterate over batches
for batch_x, batch_y in dataloader:
    # Process your batch
    ...

Examples

The package includes comprehensive examples demonstrating various features:

# Clone the repository
git clone https://github.com/yourusername/jax-dataloader.git
cd jax-dataloader

# Install example dependencies
pip install -r examples/requirements.txt

# Run the data loading demo
cd examples/data_loading
python demo.py

The examples demonstrate:

  • Loading different data formats (CSV, JSON, Images)
  • Multi-GPU support
  • Memory management
  • Progress tracking
  • Batch size optimization

For more examples and detailed documentation, visit our documentation.

Documentation

For detailed documentation, including API reference and advanced usage examples, visit our documentation.

Contributing

We welcome contributions! Please see our contributing guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.


Project Structure:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jax-dataloaders-0.1.4.tar.gz (7.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jax_dataloaders-0.1.4-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file jax-dataloaders-0.1.4.tar.gz.

File metadata

  • Download URL: jax-dataloaders-0.1.4.tar.gz
  • Upload date:
  • Size: 7.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for jax-dataloaders-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9c742d0062291d845613e4a8c5e12a0c3925e08a966e9c790b1bfc5b5d92a052
MD5 d98b888fe63a1bb63f24af768e8ed4d4
BLAKE2b-256 84b9638bf84985c67f24026c43a9bfa941f8cdd62eb970312c5a7b3a794ecb19

See more details on using hashes here.

File details

Details for the file jax_dataloaders-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for jax_dataloaders-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6b9c32bc94d48a8626219e6df50dba9a999b68ab1b43ed84742130568300a2e0
MD5 3576463e752ad407e251f917b18ba125
BLAKE2b-256 86e9ec7dbdc94ccb6f16a8107da9e82961e176ff4e74f82035510fc8a0c3604c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page