batchgenerators
batchgenerators copied to clipboard
Improving performance of batchgenerators
Thanks you for your work, this is a nice tool for augmenting 3d images. My changes come to improve the performance speed of various methods, to reduce the cpu time spent doing augmentations. I've fully vectorized some augmentations and normalizations, while also using inplace numpy operations where applicable. Please ask if you have a question regarding any change.
I am starting to review all your changes. There is a lot of stuff, thanks a lot! Might take me a while to do all that. That must have been so much work, wow!
You're welcome! I added a lot of changes and a big of part is not really relevant or useful, so you can be selective about what you want to include. I hope you find some parts that can be adapted to batchgenerators. Also, I've been validating my implementation with the unittests and nnUNet pipeline, but I'm not sure I cover all the cases.
I am not confident either about how much the unittests cover which is why I would like to go through everything before approving. You have some pretty cool tricks up your sleeve about how you approach things. That's certainly a lot cleaner than the old batchgenerators implementation. I will also do some integration tests with nnU-Net to see if there is a degradation (or improvement ;-) ) in segmentation performance. Have you made any performance measurements of your PR vs the current batchgenerators master? For example with the nnU-Net data augmentation as pipeline? Would be interesting