Skip to content

Latest commit

 

History

History
63 lines (49 loc) · 2.86 KB

README.md

File metadata and controls

63 lines (49 loc) · 2.86 KB

hanser

hanser is a library to help with training for different tasks in TensorFlow 2.X.

Sponsors

This work is supported with Cloud TPUs from Google's TPU Research Cloud (TRC).

Features

  • 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

Models

Highlights

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.

Examples

Image Classification

Object Detection

Semantic Segmentation

Hyperparameter Tuning