class_docstr: Hierarchical feature fusion module.
  https://arxiv.org/pdf/1811.11431.pdf
  https://arxiv.org/pdf/1803.06815.pdf
  
  What it does is easily explained in code:
  feature_map_0 - feature_map of the highest resolution
  feature_map_N - feature_map of the smallest resolution
  
  >>> feature_map = feature_map_0 + up(feature_map[1] + up(feature_map[2] + up(feature_map[3] + ...))))
class_docstr_tok: ["Hierarchical","feature","fusion","module",".","https",":","\/\/arxiv.org\/pdf\/1811.11431.pdf","https",":","\/\/arxiv.org\/pdf\/1803.06815.pdf","What","it","does","is","easily","explained","in","code",":","feature_map_0","-","feature_map","of","the","highest","resolution","feature_map_N","-","feature_map","of","the","smallest","resolution",">",">",">","feature_map","=","feature_map_0","+","up","(","feature_map","[","1","]","+","up","(","feature_map","[","2","]","+","up","(","feature_map","[","3","]","+","...",")",")",")",")"]
code: def forward(
      self, features: List[Tensor]
  ) -> Tensor:  # skipcq: PYL-W0221
      num_feature_maps = len(features)
  
      current_map = features[-1]
      for feature_map_index in reversed(range(num_feature_maps - 1)):
          if self.sizes is not None:
              prev_upsampled = self._upsample(
                  current_map, self.sizes[feature_map_index]
              )
          else:
              prev_upsampled = self._upsample(current_map)
  
          current_map = features[feature_map_index] + prev_upsampled
  
      return current_map
  
imports: from __future__ import absolute_import
  from typing import List
  import torch
  from torch import nn, Tensor
  from torch.nn import functional
  from ..modules.activations import ABN
label_desc: Use image node_id 2 for calling the HFF obj's underlying member method code with example usage: obj.forward(features) and returns: current_map