code: def create_embedding_fn(self):
      embed_fns = []
      d = self.kwargs["input_dims"]
      out_dim = 0
      if self.kwargs["include_input"]:
          embed_fns.append(lambda x: x)
          out_dim += d
  
      max_freq = self.kwargs["max_freq_log2"]
      N_freqs = self.kwargs["num_freqs"]
  
      if self.kwargs["log_sampling"]:
          freq_bands = 2.0 ** torch.linspace(0.0, max_freq, N_freqs)
      else:
          freq_bands = torch.linspace(
              2.0**0.0, 2.0**max_freq, N_freqs
          )
  
      for freq in freq_bands:
          for p_fn in self.kwargs["periodic_fns"]:
              embed_fns.append(
                  lambda x, p_fn=p_fn, freq=freq: p_fn(x * freq)
              )
              out_dim += d
  
      self.embed_fns = embed_fns
      self.out_dim = out_dim
  
imports: import torch
label_desc: Use image node_id 2 for calling the Embedder obj's underlying member method code with example usage: obj.create_embedding_fn() without return types