code: def loss_and_grads(self, model, guide, *args, **kwargs):
      loss = self.differentiable_loss(model, guide, *args, **kwargs)
      loss.backward()
      return loss.item()
  
file_path: pyro/pyro/contrib/funsor/infer/elbo.py
imports: import pyro.ops.jit
  from pyro.infer import ELBO
  from pyro.util import ignore_jit_warnings
label_desc: Use image node_id 4 for calling the ELBO obj's underlying member method code with example usage: obj.loss_and_grads(model, guide) and returns: loss