rohitg00/ai-engineering-from-scratch · error · ValueError
Cannot reshape {self.size} elements into shape {tuple(new_sh
Error message
Cannot reshape {self.size} elements into shape {tuple(new_shape)} What it means
Error "Cannot reshape {self.size} elements into shape {tuple(new_shape)}" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/01-math-foundations/12-tensor-operations/code/tensors.py:115
def reshape(self, new_shape):
new_shape = list(new_shape)
neg_idx = -1
known_product = 1
for i, s in enumerate(new_shape):
if s == -1:
if neg_idx != -1:
raise ValueError("Only one dimension can be -1")
neg_idx = i
else:
known_product *= s
if neg_idx != -1:
new_shape[neg_idx] = self.size // known_product
total = reduce(lambda a, b: a * b, new_shape, 1)
if total != self.size:
raise ValueError(
f"Cannot reshape {self.size} elements into shape {tuple(new_shape)}"
)
result = Tensor.__new__(Tensor)
result._data = self._data[:]
result._shape = tuple(new_shape)
result._strides = self._compute_strides(result._shape)
return result
def squeeze(self, dim=None):
if dim is not None:
if self._shape[dim] != 1:
return self.reshape(self._shape)
new_shape = list(self._shape)
new_shape.pop(dim)
return self.reshape(tuple(new_shape) if new_shape else ())
new_shape = tuple(s for s in self._shape if s != 1)
if not new_shape:View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/01-math-foundations/12-tensor-operations/code/tensors.py:115 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/d93f6da79d3328d3.
Report an issue: GitHub.