docstr: Compute the intermediate time steps for sampling.
docstr_tok: ["Compute","the","intermediate","time","steps","for","sampling","."]
code: def get_time_steps(self, skip_type, t_T, t_0, N, device):
      """Compute the intermediate time steps for sampling."""
      if skip_type == "logSNR":
          lambda_T = self.noise_schedule.marginal_lambda(
              torch.tensor(t_T).to(device)
          )
          lambda_0 = self.noise_schedule.marginal_lambda(
              torch.tensor(t_0).to(device)
          )
          logSNR_steps = torch.linspace(
              lambda_T.cpu().item(), lambda_0.cpu().item(), N + 1
          ).to(device)
          return self.noise_schedule.inverse_lambda(logSNR_steps)
      elif skip_type == "time_uniform":
          return torch.linspace(t_T, t_0, N + 1).to(device)
      elif skip_type == "time_quadratic":
          t_order = 2
          t = (
              torch.linspace(
                  t_T ** (1.0 / t_order), t_0 ** (1.0 / t_order), N + 1
              )
              .pow(t_order)
              .to(device)
          )
          return t
      else:
          raise ValueError(
              "Unsupported skip_type {}, need to be 'logSNR' or 'time_uniform' or 'time_quadratic'".format(
                  skip_type
              )
          )
  
imports: import math
  import torch
  from nemo.collections.multimodal.modules.stable_diffusion.diffusionmodules.util import expand_dims, interpolate_fn
label_desc: Use image node_id 5 for calling the DPMSolver obj's underlying member method code with example usage: obj.get_time_steps(skip_type, t_T, t_0, N, device) and returns: self, torch, t