in models/densenet_efficient_multi_gpu.py [0:0]
def __init__(self, shared_alloc,
running_mean, running_var,
stride=1, padding=0, dilation=1, groups=1,
training=False, momentum=0.1, eps=1e-5):
super(_EfficientDensenetBottleneckFn, self).__init__()
self.efficient_cat = _EfficientCat(shared_alloc)
self.efficient_batch_norm = _EfficientBatchNorm(shared_alloc, running_mean,
running_var, training, momentum, eps)
self.efficient_relu = _EfficientReLU()
self.efficient_conv = _EfficientConv2d(stride, padding, dilation, groups)
# Buffers to store old versions of bn statistics
self.prev_running_mean = self.efficient_batch_norm.running_mean.new()
self.prev_running_mean.resize_as_(self.efficient_batch_norm.running_mean)
self.prev_running_var = self.efficient_batch_norm.running_var.new()
self.prev_running_var.resize_as_(self.efficient_batch_norm.running_var)
self.curr_running_mean = self.efficient_batch_norm.running_mean.new()
self.curr_running_mean.resize_as_(self.efficient_batch_norm.running_mean)
self.curr_running_var = self.efficient_batch_norm.running_var.new()
self.curr_running_var.resize_as_(self.efficient_batch_norm.running_var)