Hello all, I have read implementation of densenet in torch vision example. I found that they set bias=False in convolution after batch norm layer. It looks redundance because the batch norm did it. Do we have any reason why they add it? Thanks

  
      github.com
  
  
    pytorch/vision/blob/b51a2c316cf80b8cb5f708dab51fbfa0f83f73d2/torchvision/models/densenet.py#L132 7

            del state_dict[key]
    model.load_state_dict(state_dict)
return model




class _DenseLayer(nn.Sequential):
def __init__(self, num_input_features, growth_rate, bn_size, drop_rate):
    super(_DenseLayer, self).__init__()
    self.add_module('norm1', nn.BatchNorm2d(num_input_features)),
    self.add_module('relu1', nn.ReLU(inplace=True)),
    self.add_module('conv1', nn.Conv2d(num_input_features, bn_size *
                    growth_rate, kernel_size=1, stride=1, bias=False)),
    self.add_module('norm2', nn.BatchNorm2d(bn_size * growth_rate)),
    self.add_module('relu2', nn.ReLU(inplace=True)),
    self.add_module('conv2', nn.Conv2d(bn_size * growth_rate, growth_rate,
                    kernel_size=3, stride=1, padding=1, bias=False)),
    self.drop_rate = drop_rate


def forward(self, x):
    new_features = super(_DenseLayer, self).forward(x)
    if self.drop_rate > 0: