batchgenerators
raw JSON → 0.25.1 verified Mon Apr 27 auth: no python
Data augmentation toolkit for medical imaging and deep learning. Current version 0.25.1. Released on PyPI with irregular cadence; maintained by MIC-DKFZ.
pip install batchgenerators Common errors
error AttributeError: module 'batchgenerators' has no attribute 'dataloading' ↓
cause Installed version is too old (pre-0.20) where dataloading was not a top-level module.
fix
Upgrade batchgenerators: pip install --upgrade batchgenerators
error ImportError: cannot import name 'DefaultTransformations' from 'batchgenerators.transforms' ↓
cause DefaultTransformations was removed in 0.25. Use explicit transforms instead.
fix
Use from batchgenerators.transforms import Compose, SpatialTransform, ... and compose your own pipeline.
error RuntimeError: DataLoader expects keyword argument 'data' but got 'dataset' ↓
cause Code written for older batchgenerators (<0.25) uses 'dataset', newer versions require 'data'.
fix
Change DataLoader(dataset=...) to DataLoader(data=...)
Warnings
breaking In version 0.25, DataLoader no longer accepts the 'dataset' argument; use 'data' instead. ↓
fix Replace DataLoader(dataset=...) with DataLoader(data=...)
deprecated batchgenerators.transforms.abstract_transforms is deprecated; use batchgenerators.transforms directly. ↓
fix Import from batchgenerators.transforms instead.
gotcha Memory usage can spike if num_threads is set too high in DataLoader, especially with large images. ↓
fix Keep num_threads <= number of CPU cores; use multiprocessing context if needed.
Imports
- DataLoader wrong
from batchgenerators.dataloading.data_loader import DataLoadercorrectfrom batchgenerators.dataloading import DataLoader - DefaultTransformations
from batchgenerators.transforms import DefaultTransformations
Quickstart
from batchgenerators.dataloading import DataLoader
from batchgenerators.transforms import Compose, SpatialTransform
# Simple data loader for a list of images
train_loader = DataLoader(my_data_list, batch_size=4, num_threads=2)
transforms = Compose([SpatialTransform(patch_size=(128,128,128))])
for batch in train_loader:
data = batch['data']
seg = batch['seg']
data, seg = transforms(data, seg)
break