docstr: Votes generation from seed point features.
  
  Args:
      vote_facotr: int
          number of votes generated from each seed point
      seed_feature_dim: int
          number of channels of seed point features
      vote_feature_dim: int
          number of channels of vote features
docstr_tok: ["Votes","generation","from","seed","point","features",".","Args",":","vote_facotr",":","int","number","of","votes","generated","from","each","seed","point","seed_feature_dim",":","int","number","of","channels","of","seed","point","features","vote_feature_dim",":","int","number","of","channels","of","vote","features"]
code: def __init__(self, vote_factor, seed_feature_dim, conv_type="DENSE"):
      """Votes generation from seed point features.
  
      Args:
          vote_facotr: int
              number of votes generated from each seed point
          seed_feature_dim: int
              number of channels of seed point features
          vote_feature_dim: int
              number of channels of vote features
      """
      super().__init__()
      self.vote_factor = vote_factor
      self.in_dim = seed_feature_dim
      self.out_dim = (
          self.in_dim
      )  # due to residual feature, in_dim has to be == out_dim
      self._conv_type = conv_type
      if conv_type == "DENSE":
          self.conv1 = torch.nn.Conv1d(self.in_dim, self.in_dim, 1)
          self.conv2 = torch.nn.Conv1d(self.in_dim, self.in_dim, 1)
          self.conv3 = torch.nn.Conv1d(
              self.in_dim, (3 + self.out_dim) * self.vote_factor, 1
          )
          self.bn1 = torch.nn.BatchNorm1d(self.in_dim)
          self.bn2 = torch.nn.BatchNorm1d(self.in_dim)
      else:
          self.conv1 = torch.nn.Linear(self.in_dim, self.in_dim)
          self.conv2 = torch.nn.Linear(self.in_dim, self.in_dim)
          self.conv3 = torch.nn.Linear(
              self.in_dim, (3 + self.out_dim) * self.vote_factor
          )
          self.bn1 = torch.nn.BatchNorm1d(self.in_dim)
          self.bn2 = torch.nn.BatchNorm1d(self.in_dim)
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from torch_geometric.data import Data
label_desc: Use image node_id 1 to create a new VotingModule object from inherited base classes: nn with example: obj = VotingModule(vote_factor, seed_feature_dim, conv_type)