class_docstr: EfficientNet head: 1x1, BN, AF, AvgPool, Dropout, FC.
code: def __init__(self, w_in, w_out, num_classes):
      super(EffHead, self).__init__()
      dropout_ratio = cfg.EN.DROPOUT_RATIO
      self.conv = conv2d(w_in, w_out, 1)
      self.conv_bn = norm2d(w_out)
      self.conv_af = activation()
      self.avg_pool = gap2d(w_out)
      self.dropout = (
          Dropout(p=dropout_ratio) if dropout_ratio > 0 else None
      )
      self.fc = linear(w_out, num_classes, bias=True)
  
imports: from pycls.core.config import cfg
  from pycls.models.blocks import activation, conv2d, conv2d_cx, drop_connect, gap2d, gap2d_cx, init_weights, linear, linear_cx, norm2d, norm2d_cx, SE
  from torch.nn import Dropout, Module
label_desc: Use image node_id 1 to create a new EffHead object from inherited base classes: Module with example: obj = EffHead(w_in, w_out, num_classes)