code: def __init__(
      self,
      input_dim,
      max_freq_log2,
      N_freqs,
      log_sampling=True,
      include_input=True,
      periodic_fns=(torch.sin, torch.cos),
  ):
      super().__init__()
  
      self.input_dim = input_dim
      self.include_input = include_input
      self.periodic_fns = periodic_fns
      self.N_freqs = N_freqs
  
      self.output_dim = 0
      if self.include_input:
          self.output_dim += self.input_dim
  
      self.output_dim += (
          self.input_dim * N_freqs * len(self.periodic_fns)
      )
  
      if log_sampling:
          self.freq_bands = 2 ** torch.linspace(
              0, max_freq_log2, N_freqs
          )
      else:
          self.freq_bands = torch.linspace(
              2**0, 2**max_freq_log2, N_freqs
          )
  
      self.freq_bands = self.freq_bands.numpy().tolist()
  
imports: import torch
  import torch.nn
label_desc: Use image node_id 1 to create a new FreqEncoder_torch object from inherited base classes: nn with example: obj = FreqEncoder_torch(input_dim, max_freq_log2, N_freqs, log_sampling, include_input, periodic_fns)