docstr: Performs feature extraction on input frames
  Arguments:
      frames (np.ndarray): Frames on which predictions need
      to be performed
  
  Returns:
      features (List[float])
code: def forward(self, frames: Tensor) -> pd.DataFrame:
      """
      Performs feature extraction on input frames
      Arguments:
          frames (np.ndarray): Frames on which predictions need
          to be performed
  
      Returns:
          features (List[float])
      """
      outcome = []
      for f in frames:
          with torch.no_grad():
              outcome.append(
                  {
                      "features": self.as_numpy(
                          self.model(torch.unsqueeze(f, 0))
                      )
                  },
              )
      return pd.DataFrame(outcome, columns=["features"])
  
file_path: evadb/evadb/functions/feature_extractor.py
imports: from typing import List
  import pandas
  import torch
  from torch import Tensor
  from torchvision import models
  from evadb.functions.abstract.pytorch_abstract_function import PytorchAbstractClassifierFunction
label_desc: Use image node_id 4 for calling the FeatureExtractor obj's underlying member method code with example usage: obj.forward(frames) and returns: pd