code: def _get_flat_core_sizes(cores):
    
    core_sizes_lists = []
    for core in cores:
      flat_output_size = nest.flatten(core.output_size)
      core_sizes_lists.append(
          [tf.TensorShape(size).as_list() for size in flat_output_size])
    return core_sizes_lists
docs: Obtains the list flattened output sizes of a list of cores.
  
    Args:
      cores: list of cores to get the shapes from.
  
    Returns:
      List of lists that, for each core, contains the list of its output
        dimensions.