{"id":20994,"library":"batchgenerators","title":"batchgenerators","description":"Data augmentation toolkit for medical imaging and deep learning. Current version 0.25.1. Released on PyPI with irregular cadence; maintained by MIC-DKFZ.","status":"active","version":"0.25.1","language":"python","source_language":"en","source_url":"https://github.com/MIC-DKFZ/batchgenerators","tags":["medical imaging","deep learning","data augmentation","transforms"],"install":[{"cmd":"pip install batchgenerators","lang":"bash","label":"Default install"}],"dependencies":[],"imports":[{"note":"DataLoader is directly in batchgenerators.dataloading; submodule path changed.","wrong":"from batchgenerators.dataloading.data_loader import DataLoader","symbol":"DataLoader","correct":"from batchgenerators.dataloading import DataLoader"},{"note":"Common transformation set.","symbol":"DefaultTransformations","correct":"from batchgenerators.transforms import DefaultTransformations"}],"quickstart":{"code":"from batchgenerators.dataloading import DataLoader\nfrom batchgenerators.transforms import Compose, SpatialTransform\n\n# Simple data loader for a list of images\ntrain_loader = DataLoader(my_data_list, batch_size=4, num_threads=2)\ntransforms = Compose([SpatialTransform(patch_size=(128,128,128))])\nfor batch in train_loader:\n    data = batch['data']\n    seg = batch['seg']\n    data, seg = transforms(data, seg)\n    break","lang":"python","description":"Basic usage: create a DataLoader from a list of data, apply augmentations via Compose."},"warnings":[{"fix":"Replace DataLoader(dataset=...) with DataLoader(data=...)","message":"In version 0.25, DataLoader no longer accepts the 'dataset' argument; use 'data' instead.","severity":"breaking","affected_versions":">=0.25"},{"fix":"Import from batchgenerators.transforms instead.","message":"batchgenerators.transforms.abstract_transforms is deprecated; use batchgenerators.transforms directly.","severity":"deprecated","affected_versions":">=0.23"},{"fix":"Keep num_threads <= number of CPU cores; use multiprocessing context if needed.","message":"Memory usage can spike if num_threads is set too high in DataLoader, especially with large images.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Upgrade batchgenerators: pip install --upgrade batchgenerators","cause":"Installed version is too old (pre-0.20) where dataloading was not a top-level module.","error":"AttributeError: module 'batchgenerators' has no attribute 'dataloading'"},{"fix":"Use from batchgenerators.transforms import Compose, SpatialTransform, ... and compose your own pipeline.","cause":"DefaultTransformations was removed in 0.25. Use explicit transforms instead.","error":"ImportError: cannot import name 'DefaultTransformations' from 'batchgenerators.transforms'"},{"fix":"Change DataLoader(dataset=...) to DataLoader(data=...)","cause":"Code written for older batchgenerators (<0.25) uses 'dataset', newer versions require 'data'.","error":"RuntimeError: DataLoader expects keyword argument 'data' but got 'dataset'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}