code: def _read_features_and_info(self, feat_file):
      features = []
      infos = []
      for feature_reader in self.feature_readers:
          feature, info = feature_reader.read(feat_file)
          # feature = torch.from_numpy(feature).share_memory_()
  
          features.append(feature)
          infos.append(info)
  
      if not self._should_return_info:
          infos = None
      return features, infos
  
file_path: mmf/mmf/datasets/databases/features_database.py
imports: import logging
  from multiprocessing.pool import ThreadPool
  import tqdm
  from mmf.datasets.databases.image_database import ImageDatabase
  from mmf.datasets.databases.readers.feature_readers import FeatureReader
  from mmf.utils.distributed import is_main
  from mmf.utils.general import get_absolute_path
label_desc: Use image node_id 4 for calling the FeaturesDatabase obj's underlying member method code with example usage: obj._read_features_and_info(feat_file) and returns: features,  infos