code: def log_prob(self, x, cond, *args, **kwargs):
      if self.scale is not None:
          x /= self.scale
  
      B, T, _ = x.shape
  
      time = torch.randint(
          0, self.num_timesteps, (B * T,), device=x.device
      ).long()
      loss = self.p_losses(
          x.reshape(B * T, 1, -1),
          cond.reshape(B * T, 1, -1),
          time,
          *args,
          **kwargs,
      )
  
      return loss
  
imports: from functools import partial
  from inspect import isfunction
  import numpy
  import torch
  from torch import nn, einsum
  import torch.nn.functional
label_desc: Use image node_id 14 for calling the GaussianDiffusion obj's underlying member method code with example usage: obj.log_prob(x, cond) and returns: loss