I think the .batch_shape should be equivalent to .tensor.shape or .tensor.batch_shape for graphs.
If so, why do we need this setter for the batch_shape?
My suggestion is:
@property
def batch_shape(self) -> tuple[int, ...]:
return tuple(self.tensor.shape)[: -len(self.state_shape)]
Originally posted by @hyeok9855 in #252 (comment)