Skip to content
This repository has been archived by the owner on Mar 17, 2021. It is now read-only.

default value of use_local_stats in batch norm layer #311

Open
wyli opened this issue Jan 25, 2019 · 0 comments
Open

default value of use_local_stats in batch norm layer #311

wyli opened this issue Jan 25, 2019 · 0 comments

Comments

@wyli
Copy link
Member

wyli commented Jan 25, 2019

It seems that in many window-based segmentation/regression use cases, either settingis_training=True or setting use_local_stats=True in the batch normalisation layer at inference time leads to better performance than those with NiftyNet's default batch norm options.

Therefore this ticket proposes to add a use_local_stats option in the config file, and make use_local_stats=True as the default for segmentation application with batch norm.

Specifically, in the current implementation (v0.4.0) the default values are:

  • training: is_trainign=True use_local_stats=True
  • inference: is_training=False use_local_stats=True
    which uses running averages from training at inference time, following Ioffe and Szegedy (2015) https://arxiv.org/abs/1502.03167.

The proposed change will use these values by default:

  • training: is_trainign=True use_local_stats=True
  • inference: is_training=False use_local_stats=True
    which will effectively follow Ulyanov et al. (2017) https://arxiv.org/abs/1607.08022.

This ticket is related to #280, #285, #282.

thoughts?

Probably to be addressed with #282

@ericspod ericspod added this to Enhancements From Issues in NiftyNet Hackathon Preparation May 30, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
NiftyNet Hackathon Preparation
  
Enhancements From Issues
Development

No branches or pull requests

3 participants