code: def init_model(self, model_init="he_fout", init_div_groups=False):
      for m in self.modules():
          if isinstance(m, nn.Conv2d):
              if model_init == "he_fout":
                  n = (
                      m.kernel_size[0]
                      * m.kernel_size[1]
                      * m.out_channels
                  )
                  if init_div_groups:
                      n /= m.groups
                  m.weight.data.normal_(0, math.sqrt(2.0 / n))
              elif model_init == "he_fin":
                  n = (
                      m.kernel_size[0]
                      * m.kernel_size[1]
                      * m.in_channels
                  )
                  if init_div_groups:
                      n /= m.groups
                  m.weight.data.normal_(0, math.sqrt(2.0 / n))
              else:
                  raise NotImplementedError
          elif isinstance(m, nn.BatchNorm2d) or isinstance(
              m, nn.BatchNorm1d
          ):
              m.weight.data.fill_(1)
              m.bias.data.zero_()
          elif isinstance(m, nn.Linear):
              stdv = 1.0 / math.sqrt(m.weight.size(1))
              m.weight.data.uniform_(-stdv, stdv)
              if m.bias is not None:
                  m.bias.data.zero_()
  
file_path: nni/examples/nas/legacy/oneshot/proxylessnas/model.py
imports: import torch
  import nni.retiarii.nn.pytorch
  import math
  import ops
  import putils
  from nni.retiarii.nn.pytorch import LayerChoice
label_desc: Use image node_id 4 for calling the SearchMobileNet obj's underlying member method code with example usage: obj.init_model(model_init, init_div_groups) without return types