code: def get_trunk_forward_outputs_module_list(
      feat: torch.Tensor,
      out_feat_keys: List[str],
      feature_blocks: nn.ModuleList,
      all_feat_names: List[str] = None,
  ) -> List[torch.Tensor]:
      """
      Args:
          feat: model input.
          out_feat_keys: a list/tuple with the feature names of the features that
              the function should return. By default the last feature of the network
              is returned.
          feature_blocks: list of feature blocks in the model
          feature_mapping: name of the layers in the model
  
      Returns:
          out_feats: a list with the asked output features placed in the same order as in
          `out_feat_keys`.
      """
      out_feat_keys, max_out_feat = parse_out_keys_arg(
          out_feat_keys, all_feat_names
      )
      out_feats = [None] * len(out_feat_keys)
      for f in range(max_out_feat + 1):
          feat = feature_blocks[f](feat)
          key = all_feat_names[f]
          if key in out_feat_keys:
              out_feats[out_feat_keys.index(key)] = feat
      return out_feats
  
imports: import logging
  import math
  import warnings
  from enum import Enum
  from typing import Dict, List, Tuple
  import torch
  import torch.distributed
  import torch.nn
  import torch.nn.functional
  from torch.nn.modules.utils import _ntuple
  from torch.utils.checkpoint import checkpoint
  from vissl.data.collators.collator_helper import MultiDimensionalTensor
  from vissl.utils.activation_checkpointing import checkpoint_trunk
  from vissl.utils.env import get_machine_local_and_dist_rank
  from vissl.utils.misc import is_apex_available
label_desc: Use image node_id 11 for calling a global function with example usage: get_trunk_forward_outputs_module_list(feat, out_feat_keys, feature_blocks, all_feat_names) and returns: out_feats