JAX DataLoader
A high-performance data loading library for JAX applications.
📦 PyPI: jax-dataloaders
📘 Documentation: https://carrycooldude.github.io/JAX-Dataloader/
🌐 Live Website (Netlify): https://jax-dataloader.netlify.app/
🔗 GitHub Repo: https://github.com/carrycooldude/JAX-Dataloader
Features
- Efficient data loading with memory management
- Support for CSV, JSON, and image data
- Data augmentation and preprocessing
- Progress tracking
- Caching
- Multi-GPU support
- Memory monitoring and auto-tuning
Installation
pip install jax-dataloaders
Usage
Basic Usage
from jax_dataloader import DataLoader, DataLoaderConfig
# Create configuration
config = DataLoaderConfig(
batch_size=32,
shuffle=True,
loader_type="csv",
data_path="data.csv"
)
# Create data loader
dataloader = DataLoader(config)
# Iterate over batches
for batch_data, batch_labels in dataloader:
print(f"Batch shape: {batch_data.shape}")
Advanced Usage
from jax_dataloader import DataLoader, DataLoaderConfig
from jax_dataloader.transform import Transform
# Create transform
transform = Transform()
transform.add(lambda x: x * 2) # Example transform
# Create configuration
config = DataLoaderConfig(
batch_size=32,
shuffle=True,
loader_type="json",
data_path="data.json",
transform=transform,
num_workers=4,
prefetch_factor=2
)
# Create data loader
dataloader = DataLoader(config)
# Iterate over batches
for batch_data, batch_labels in dataloader:
print(f"Batch shape: {batch_data.shape}")
Documentation
📘 Full documentation available at:
https://carrycooldude.github.io/JAX-Dataloader/
Development
Setup
- Clone the repository:
git clone https://github.com/carrycooldude/JAX-Dataloader.git
cd JAX-Dataloader
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install development dependencies:
pip install -e ".[dev]"
Testing
Run tests:
pytest
Building Documentation
cd docs
make html
License
This project is licensed under the MIT License — see the LICENSE file for details.
Author
Kartikey Rawat
Project Links
- 🔗 GitHub Repo: https://github.com/carrycooldude/JAX-Dataloader
- 📦 PyPI: https://pypi.org/project/jax-dataloaders/
- 📘 Docs: https://carrycooldude.github.io/JAX-Dataloader/
- 🌐 Website: https://jax-dataloader.netlify.app/
Metadata
Release files for jax-dataloaders 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jax_dataloaders-0.1.10.tar.gz | 2.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jax_dataloaders-0.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.6 MB
Release files / jax_dataloaders-0.1.10.tar.gz
| Download URL | jax_dataloaders-0.1.10.tar.gz |
|---|---|
| Size | 2.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eaa617f8ce8f12d134436ee78742755715b6efd448c4826710e59a343d8f4721
|
|
BLAKE2b-256 checksum How to use checksums |
bc225ec34de7143614aecaf7a92eebb416001bf194c1f1bb73aebf79cc4114db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.19
|
Release files / jax_dataloaders-0.1.10-py3-none-any.whl
| Download URL | jax_dataloaders-0.1.10-py3-none-any.whl |
|---|---|
| Size | 20.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d8bbbb733a8eb36b7dfc68e5d83e3e247c2d8218997326bd904acda3a477b094
|
|
BLAKE2b-256 checksum How to use checksums |
538a59e4ff2e6a2f7518fef2566ab73762211718f386ab2cb26c593359d15749
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.19
|