Skip to content
/ hanser Public

A library to help with training for different tasks in TensorFlow

Notifications You must be signed in to change notification settings

sbl1996/hanser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A library to help with training for different tasks in TensorFlow

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published