code: def param_init(module, init="ortho"):
      """
      MLP parameter initialization function
  
      :meta private:
      """
      for m in module.modules():
          if isinstance(m, nn.Conv2d):  # or isinstance(m, nn.Linear):
              # print('Update init of ', m)
              if init == "he":
                  n = (
                      m.kernel_size[0]
                      * m.kernel_size[1]
                      * m.out_channels
                  )
                  m.weight.data.normal_(0, math.sqrt(2.0 / n))
              elif init == "ortho":
                  nn.init.orthogonal_(m.weight)
          if isinstance(m, nn.Linear):
              nn.init.normal_(m.weight, mean=0, std=0.0001)
              # n = m.weight.size(1)
              # m.weight.data.normal_(0, math.sqrt(2. / n))
          elif isinstance(m, nn.BatchNorm2d):
              # print('Update init of ', m)
              m.weight.data.fill_(1)
              m.bias.data.zero_()
  
imports: import logging
  import math
  import numpy
  import pandas
  from merlion.models.anomaly.base import DetectorConfig, DetectorBase
  from merlion.post_process.threshold import AdaptiveAggregateAlarms
  from merlion.transform.moving_average import DifferenceTransform
  from merlion.utils import UnivariateTimeSeries, TimeSeries, to_timestamp
label_desc: Use image node_id 1 for calling a global function with example usage: param_init(module, init) without return types