class_docstr: Implementation of EfficientNet, https://arxiv.org/pdf/1905.11946.pdf
  References:
      https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
      https://github.com/lukemelas/EfficientNet-PyTorch
  
  NOTE: the original implementation uses the names depth_divisor and min_depth
        to refer to the number of channels, which is confusing, since the paper
        refers to the channel dimension as width. We use the width_divisor and
        min_width names instead.
class_docstr_tok: ["Implementation","of","EfficientNet",",","https",":","\/\/arxiv.org\/pdf\/1905.11946.pdf","References",":","https",":","\/\/github.com\/tensorflow\/tpu\/tree\/master\/models\/official\/efficientnet","https",":","\/\/github.com\/lukemelas\/EfficientNet-PyTorch","NOTE",":","the","original","implementation","uses","the","names","depth_divisor","and","min_depth","to","refer","to","the","number","of","channels",",","which","is","confusing",",","since","the","paper","refers","to","the","channel","dimension","as","width",".","We","use","the","width_divisor","and","min_width","names","instead","."]
code: def init_weights(self):
      for module in self.modules():
          if isinstance(module, nn.Conv2d):
              kernel_height, kernel_width = module.kernel_size
              out_channels = module.out_channels
              fan_out = kernel_height * kernel_width * out_channels
              nn.init.normal_(
                  module.weight, mean=0.0, std=math.sqrt(2.0 / fan_out)
              )
              if module.bias is not None:
                  nn.init.constant_(module.bias, 0)
          elif isinstance(module, nn.Linear):
              init_range = 1.0 / math.sqrt(module.out_features)
              nn.init.uniform_(module.weight, -init_range, init_range)
          elif isinstance(module, nn.BatchNorm2d):
              nn.init.constant_(module.weight, 1)
              nn.init.constant_(module.bias, 0)
  
imports: import copy
  import math
  from collections import OrderedDict
  from typing import Any, Dict, NamedTuple, Optional
  import torch
  import torch.nn
  from classy_vision.generic.util import get_torch_version
  from classy_vision.models import ClassyModel, register_model
label_desc: Use image node_id 3 for calling the EfficientNet obj's underlying member method code with example usage: obj.init_weights() without return types