hanser
is a library to help with training for different tasks in TensorFlow 2.X.
This work is supported with Cloud TPUs from Google's TPU Research Cloud (TRC).
- Simplified training and evalution, running on CPU, GPU and TPU, maybe more powerful than Keras
- Easily extended to supervised learning tasks (Classification, Detection, Segmentation, NAS, Super Resolution, Keypoint Detection)
- Reproduction of popular computer vision models, modules and tricks with experimental results
InplaceABN is an improved variant of gradient checkpointing which drastically reduce the training memory with negligible computation cost. We make it available on TPU and have carefully tested the correctness and performance. With InplaceABN, the maximal batch size may increase 20%-50% with a tiny time overhead (<10%).
EMA is a simple and efficient way to stabilize training and improve performance. We integrate it into hanser
and make it very easy to use. It has been carefully tested on our reproduced MobileNetV3.
hanser
provides out-of-the-box reimplementation of various data augmentation and regularization (CutMix, ResizeMix, RandAugment, TrivialAugment, DropBlock, ...). All of them are well tested and work seamlessly with TPU.