Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

In-Place Activated BatchNorm for Memory-Optimized Training of DNNs

About

In this work we present In-Place Activated Batch Normalization (InPlace-ABN) - a novel approach to drastically reduce the training memory footprint of modern deep neural networks in a computationally efficient way. Our solution substitutes the conventionally used succession of BatchNorm + Activation layers with a single plugin layer, hence avoiding invasive framework surgery while providing straightforward applicability for existing deep learning frameworks. We obtain memory savings of up to 50% by dropping intermediate results and by recovering required information during the backward pass through the inversion of stored forward results, with only minor increase (0.8-2%) in computation time. Also, we demonstrate how frequently used checkpointing approaches can be made computationally as efficient as InPlace-ABN. In our experiments on image classification, we demonstrate on-par results on ImageNet-1k with state-of-the-art approaches. On the memory-demanding task of semantic segmentation, we report results for COCO-Stuff, Cityscapes and Mapillary Vistas, obtaining new state-of-the-art results on the latter without additional training data but in a single-scale and -model scenario. Code can be found at https://github.com/mapillary/inplace_abn .

Samuel Rota Bul\`o, Lorenzo Porzi, Peter Kontschieder• 2017

Related benchmarks

TaskDatasetResultRank
ClassificationImageNet-1K 1.0 (val)
Top-1 Accuracy (%)81.03
1155
Semantic segmentationCityscapes (test)
mIoU82.03
1145
Semantic segmentationCityscapes (val)
mIoU79.4
572
Semantic segmentationMapillary Vistas (val)
mIoU53.12
72
Semantic segmentationCityscapes w/o coarse
mIoU82
29
Semantic segmentationWildDash bench (test)
mIoU Meta Avg (cla)38.9
19
Semantic segmentationKITTI (test)
mIoU86.52
16
Semantic segmentationCityscapes 19 semantic class labels (val)
mIoU78.31
12
Semantic segmentationCityscapes (val)
mIoU78.3
11
Showing 9 of 9 rows

Other info

Code

Follow for update