MCPcopy Create free account
hub / github.com/10Ring/LAA-Net / init_weights

Method init_weights

models/networks/pose_efficientNet.py:721–761  ·  view source on GitHub ↗
(self, pretrained=False, advprop=False, verbose=True)

Source from the content-addressed store, hash-verified

719 return NotImplemented
720
721 def init_weights(self, pretrained=False, advprop=False, verbose=True):
722 if pretrained:
723 url_map_ = url_map_advprop if advprop else url_map
724 state_dict = model_zoo.load_url(url_map_[self.model_name])
725 self.load_state_dict(state_dict, strict=False)
726
727 # Initialize weights for Deconvolution Layer
728 if self._global_params.include_hm_decoder:
729 if self.efpn or self.tfpn:
730 deconv_layers = [self.deconv_1, self.deconv_2, self.deconv_3, self.deconv_4]
731 else:
732 deconv_layers = self.deconv_layers
733
734 for layer in deconv_layers:
735 for _, m in layer.named_modules():
736 if isinstance(m, nn.ConvTranspose2d):
737 n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels
738 m.weight.data.normal_(0, math.sqrt(2. / n))
739 if self.deconv_with_bias:
740 nn.init.constant_(m.bias, 0)
741 elif isinstance(m, nn.BatchNorm2d):
742 nn.init.constant_(m.weight, 1)
743 nn.init.constant_(m.bias, 0)
744
745 # Init head parameters
746 for head in self.heads:
747 final_layer = self.__getattr__(head)
748 for i, m in enumerate(final_layer.modules()):
749 if isinstance(m, nn.Conv2d):
750 if m.weight.shape[0] == self.heads[head]:
751 if 'hm' in head:
752 nn.init.constant_(m.bias, -2.19)
753 else:
754 # nn.init.normal_(m.weight, std=0.001)
755 n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels
756 m.weight.data.normal_(0, math.sqrt(2. / n))
757 nn.init.constant_(m.bias, 0)
758
759 self._change_in_channels(in_channels=self.in_channels)
760 if verbose:
761 print('Loaded pretrained weights for {}'.format(self.model_name))
762
763
764if __name__ == '__main__':

Callers 1

Calls 1

_change_in_channelsMethod · 0.95

Tested by

no test coverage detected