docstr: Args:
      None, initializes weights for conv/linear/batchnorm layers
      following weight init methods from
      `official Tensorflow EfficientNet implementation
      <https://github.com/tensorflow/tpu/blob/master/models/official/efficientnet/efficientnet_model.py#L61>`_.
      Adapted from `EfficientNet-PyTorch's init method
      <https://github.com/rwightman/gen-efficientnet-pytorch/blob/master/geffnet/efficientnet_builder.py>`_.
docstr_tok: ["Args",":","None",",","initializes","weights","for","conv\/linear\/batchnorm","layers","following","weight","init","methods","from","`","official","Tensorflow","EfficientNet","implementation","<","https",":","\/\/github.com\/tensorflow\/tpu\/blob\/master\/models\/official\/efficientnet\/efficientnet_model.py","#","L61",">","`","_",".","Adapted","from","`","EfficientNet-PyTorch","'s","init","method","<","https",":","\/\/github.com\/rwightman\/gen-efficientnet-pytorch\/blob\/master\/geffnet\/efficientnet_builder.py",">","`","_","."]
code: def _initialize_weights(self) -> None:
      """
      Args:
          None, initializes weights for conv/linear/batchnorm layers
          following weight init methods from
          `official Tensorflow EfficientNet implementation
          <https://github.com/tensorflow/tpu/blob/master/models/official/efficientnet/efficientnet_model.py#L61>`_.
          Adapted from `EfficientNet-PyTorch's init method
          <https://github.com/rwightman/gen-efficientnet-pytorch/blob/master/geffnet/efficientnet_builder.py>`_.
      """
      for _, m in self.named_modules():
          if isinstance(m, (nn.Conv1d, nn.Conv2d, nn.Conv3d)):
              fan_out = (
                  reduce(operator.mul, m.kernel_size, 1)
                  * m.out_channels
              )
              m.weight.data.normal_(0, math.sqrt(2.0 / fan_out))
              if m.bias is not None:
                  m.bias.data.zero_()
          elif isinstance(
              m, (nn.BatchNorm1d, nn.BatchNorm2d, nn.BatchNorm3d)
          ):
              m.weight.data.fill_(1.0)
              m.bias.data.zero_()
          elif isinstance(m, nn.Linear):
              fan_out = m.weight.size(0)
              fan_in = 0
              init_range = 1.0 / math.sqrt(fan_in + fan_out)
              m.weight.data.uniform_(-init_range, init_range)
              m.bias.data.zero_()
  
imports: from __future__ import annotations
  import math
  import operator
  import re
  from functools import reduce
  from typing import NamedTuple
  import torch
  from torch import nn
  from torch.utils import model_zoo
  from monai.networks.blocks import BaseEncoder
  from monai.networks.layers.factories import Act, Conv, Pad, Pool
  from monai.networks.layers.utils import get_norm_layer
  from monai.utils.module import look_up_option
label_desc: Use image node_id 4 for calling the EfficientNet obj's underlying member method code with example usage: obj._initialize_weights() without return types