code: def forward(self, input, max_level=None, **kwargs):
      if max_level is None:
          max_level = self.N_freqs
      else:
          max_level = int(max_level * self.N_freqs)
  
      out = []
      if self.include_input:
          out.append(input)
  
      for i in range(max_level):
          freq = self.freq_bands[i]
          for p_fn in self.periodic_fns:
              out.append(p_fn(input * freq))
  
      # append 0
      if self.N_freqs - max_level > 0:
          out.append(
              torch.zeros(
                  input.shape[0],
                  (self.N_freqs - max_level) * 2 * input.shape[1],
                  device=input.device,
                  dtype=input.dtype,
              )
          )
  
      out = torch.cat(out, dim=-1)
  
      return out
  
imports: import torch
  import torch.nn
label_desc: Use image node_id 2 for calling the FreqEncoder_torch obj's underlying member method code with example usage: obj.forward(input, max_level) and returns: out