Checks the output_sizes of the cores of the DeepRNN module.

    Raises:
      ValueError: if the outputs of the cores cannot be concatenated along their
        first dimension.

def _check_cores_output_sizes(self):
    """Checks the output_sizes of the cores of the DeepRNN module.

    Raises:
      ValueError: if the outputs of the cores cannot be concatenated along their
        first dimension.
    """
    for core_sizes in zip(*tuple(_get_flat_core_sizes(self._cores))):
      first_core_list = core_sizes[0][1:]
      for i, core_list in enumerate(core_sizes[1:]):
        if core_list[1:] != first_core_list:
          raise ValueError("The outputs of the provided cores are not able "
                           "to be concatenated along the first feature "
                           "dimension. Core 0 has shape %s, whereas Core %d "
                           "has shape %s - these must only differ in the first "
                           "dimension" % (core_sizes[0], i + 1, core_list))