code: def _check_shape(self, x: np.ndarray) -> None:
      for dims in itertools.zip_longest(
          x.shape, self.shape, fillvalue=1
      ):
          if dims[0] != dims[1] and not any(
              x == 1 for x in dims
          ):  # same or broadcastable
              raise ValueError(
                  f"Shapes do not match: {self.shape} and {x.shape}"
              )
  
imports: import uuid
  import itertools
  import numpy
  from scipy import stats
  import nevergrad.common.typing
  from .None import utils
label_desc: Use image node_id 2 for calling the BoundTransform obj's underlying member method code with example usage: obj._check_shape(x) without return types