input_layout, start_dim, end_dim, input_shape = (
cache_values[0], cache_values[1], cache_values[2], cache_values[3]
)
if input_layout is None:
raise ValueError(
f"For {self.op_name}, flatten requires a valid input tensor layout."
)
if not isinstance(input_shape, (list, tuple)):
raise ValueError(
f"For {self.op_name}, input_shape should be list or tuple, "
f"but got {type(input_shape)}."
)
if len(input_shape) != len(input_layout.tensor_map):
raise ValueError(
f"For {self.op_name}, input shape rank should match layout rank, "
f"but got {len(input_shape)} and {len(input_layout.tensor_map)}."
)
if not isinstance(start_dim, int) or not isinstance(end_dim, int):
raise ValueError(
f"For {self.op_name}, start_dim and end_dim should be int, "
f"but got {type(start_dim)} and {type(end_dim)}."
)