code: def get_module(self, flow):
      if flow.upper() == "UP":
          return getattr(self.modules_lib, self.module_name_up, None)
      else:
          return getattr(self.modules_lib, self.module_name_down, None)
  
imports: from torch import nn
  from torch_geometric.nn import global_max_pool, global_mean_pool, fps, radius, knn_interpolate
  from torch.nn import Linear, ReLU, LeakyReLU, BatchNorm1d, Dropout
  from omegaconf.listconfig import ListConfig
  from omegaconf.dictconfig import DictConfig
  import logging
  import copy
  from torch_points3d.datasets.base_dataset import BaseDataset
  from torch_points3d.models.base_model import BaseModel
  from torch_points3d.core.common_modules.base_modules import Identity
  from torch_points3d.utils.config import is_list
label_desc: Use image node_id 2 for calling the BaseFactory obj's underlying member method code with example usage: obj.get_module(flow) and returns: getattr, getattr