code: def _mc_quadrature(
      self,
      funcs: Union[
          Callable[..., tf.Tensor], Iterable[Callable[..., tf.Tensor]]
      ],
      Fmu: TensorType,
      Fvar: TensorType,
      logspace: bool = False,
      epsilon: Optional[TensorType] = None,
      **Ys: TensorType,
  ) -> tf.Tensor:
      return ndiag_mc(
          funcs,
          self.num_monte_carlo_points,
          Fmu,
          Fvar,
          logspace,
          epsilon,
          **Ys,
      )
  
imports: import abc
  from typing import Any, Callable, Iterable, Optional, Sequence, Union
  import tensorflow
  from check_shapes import check_shapes, inherit_check_shapes
  from ..base import MeanAndVariance, Module, TensorType
  from ..quadrature import GaussianQuadrature, NDiagGHQuadrature, ndiag_mc
label_desc: Use image node_id 2 for calling the MonteCarloLikelihood obj's underlying member method code with example usage: obj._mc_quadrature(funcs, Fmu, Fvar, logspace, epsilon) and returns: ndiag_mc