class_docstr: Wrapper for ClassyVision RegNet model so we can map layers into feature
  blocks to facilitate feature extraction and benchmarking at several layers.
  
  This model is defined on the fly from a RegNet base class and a configuration file.
  
  We follow the feature naming convention defined in the ResNet vissl trunk.
class_docstr_tok: ["Wrapper","for","ClassyVision","RegNet","model","so","we","can","map","layers","into","feature","blocks","to","facilitate","feature","extraction","and","benchmarking","at","several","layers",".","This","model","is","defined","on","the","fly","from","a","RegNet","base","class","and","a","configuration","file",".","We","follow","the","feature","naming","convention","defined","in","the","ResNet","vissl","trunk","."]
code: def forward(
      self, x, out_feat_keys: List[str] = None
  ) -> List[torch.Tensor]:
      if isinstance(x, MultiDimensionalTensor):
          out = get_tunk_forward_interpolated_outputs(
              input_type=self.model_config.INPUT_TYPE,
              interpolate_out_feat_key_name="res5",
              remove_padding_before_feat_key_name="avgpool",
              feat=x,
              feature_blocks=self._feature_blocks,
              use_checkpointing=self.use_activation_checkpointing,
              checkpointing_splits=self.activation_checkpointing_splits,
          )
      else:
          model_input = transform_model_input_data_type(
              x, self.model_config.INPUT_TYPE
          )
          out = get_trunk_forward_outputs(
              feat=model_input,
              out_feat_keys=out_feat_keys,
              feature_blocks=self._feature_blocks,
              use_checkpointing=self.use_activation_checkpointing,
              checkpointing_splits=self.activation_checkpointing_splits,
          )
      return out
  
file_path: vissl/vissl/models/trunks/regnet.py
imports: import logging
  from typing import List, Tuple
  import torch
  import torch.nn
  from classy_vision.models import build_model, RegNet
  from vissl.config import AttrDict
  from vissl.data.collators.collator_helper import MultiDimensionalTensor
  from vissl.models.model_helpers import Flatten, get_trunk_forward_outputs, get_tunk_forward_interpolated_outputs, transform_model_input_data_type
  from vissl.models.trunks import register_model_trunk
label_desc: Use image node_id 2 for calling the RegNet obj's underlying member method code with example usage: obj.forward(x, out_feat_keys) and returns: out