code: def _initialize_weights(self):
      for name, m in self.named_modules():
          if isinstance(m, nn.Conv2d):
              if "first" in name:
                  torch.nn.init.normal_(m.weight, 0, 0.01)
              else:
                  torch.nn.init.normal_(
                      m.weight, 0, 1.0 / m.weight.shape[1]
                  )
              if m.bias is not None:
                  torch.nn.init.constant_(m.bias, 0)
          elif isinstance(m, nn.BatchNorm2d):
              if m.weight is not None:
                  torch.nn.init.constant_(m.weight, 1)
              if m.bias is not None:
                  torch.nn.init.constant_(m.bias, 0.0001)
              torch.nn.init.constant_(m.running_mean, 0)
          elif isinstance(m, nn.BatchNorm1d):
              torch.nn.init.constant_(m.weight, 1)
              if m.bias is not None:
                  torch.nn.init.constant_(m.bias, 0.0001)
              torch.nn.init.constant_(m.running_mean, 0)
          elif isinstance(m, nn.Linear):
              torch.nn.init.normal_(m.weight, 0, 0.01)
              if m.bias is not None:
                  torch.nn.init.constant_(m.bias, 0)
  
file_path: nni/examples/nas/legacy/oneshot/spos/network.py
imports: import os
  import pickle
  import re
  import torch
  import nni.retiarii.nn.pytorch
  from nni.retiarii.nn.pytorch import LayerChoice
  from nni.retiarii.serializer import model_wrapper
  from blocks import ShuffleNetBlock, ShuffleXceptionBlock
label_desc: Use image node_id 4 for calling the ShuffleNetV2OneShot obj's underlying member method code with example usage: obj._initialize_weights() without return types