class_docstr: This head defines a 2d average pooling layer
  (:class:`torch.nn.AdaptiveAvgPool2d`) followed by a fully connected
  layer (:class:`torch.nn.Linear`).
code: def forward(self, x):
      out = x
      if self.conv is not None:
          out = self.activation(self.bn(self.conv(x)))
  
      out = self.avgpool(out)
  
      out = out.flatten(start_dim=1)
  
      if self.normalize_inputs is not None:
          if self.normalize_inputs == NORMALIZE_L2:
              out = nn.functional.normalize(out, p=2.0, dim=1)
  
      if self.fc is not None:
          out = self.fc(out)
  
      return out
  
file_path: ClassyVision/classy_vision/heads/fully_connected_head.py
imports: from typing import Any, Dict, Optional
  import torch.nn
  from classy_vision.generic.util import get_torch_version, is_pos_int
  from classy_vision.heads import ClassyHead, register_head
label_desc: Use image node_id 3 for calling the FullyConnectedHead obj's underlying member method code with example usage: obj.forward(x) and returns: out