code: def setup(self):
      self.asl_weights_url = "https://www.dropbox.com/s/s9l1mezuplc6ttl/asl_top20_resnet_wts.pth?raw=1"
      import torch
  
      self.asl_weights_path = torch.hub.get_dir() + "/asl_weights.pth"
      self.download_weights()
  
      try_to_import_torchvision()
      from torchvision.models.video import R3D_18_Weights, r3d_18
  
      self.weights = R3D_18_Weights.DEFAULT
      self.model = r3d_18(weights=self.weights)
      in_feats = self.model.fc.in_features
      self.model.fc = torch.nn.Linear(in_feats, 20)
      self.model.load_state_dict(
          torch.load(self.asl_weights_path, map_location="cpu")
      )
      self.model.eval()
  
      self.preprocess = self.weights.transforms()
  
file_path: evadb/evadb/functions/asl_action_recognition.py
imports: import os
  import pickle
  import numpy
  import pandas
  from evadb.functions.abstract.pytorch_abstract_function import PytorchAbstractClassifierFunction
  from evadb.utils.generic_utils import try_to_import_torch, try_to_import_torchvision
label_desc: Use image node_id 3 for calling the ASLActionRecognition obj's underlying member method code with example usage: obj.setup() without return types