class_docstr: A mix-in for adding sampler functionality into an acquisition function class.
  
  Attributes:
      _default_sample_shape: The `sample_shape` for the default sampler.
  
  :meta private:
code: def sample_shape(self) -> torch.Size:
      return (
          self.sampler.sample_shape
          if self.sampler is not None
          else self._default_sample_shape
      )
  
imports: from __future__ import annotations
  import warnings
  from abc import ABC, abstractmethod
  from typing import Optional
  import torch
  from botorch.exceptions import BotorchWarning
  from botorch.models.model import Model, ModelDict
  from botorch.posteriors.posterior import Posterior
  from botorch.sampling.base import MCSampler
  from botorch.sampling.get_sampler import get_sampler
  from torch import Tensor
  from torch.nn import Module
label_desc: Use image node_id 3 for calling the MCSamplerMixin obj's underlying member method code with example usage: obj.sample_shape() and returns: unknown