rohitg00/ai-engineering-from-scratch · error · IndexError
Index {ind} out of range for axis {i} with size {self._shape
Error message
Index {ind} out of range for axis {i} with size {self._shape[i]} What it means
Error "Index {ind} out of range for axis {i} with size {self._shape[i]}" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/01-math-foundations/12-tensor-operations/code/tensors.py:80
return len(self._shape)
@property
def size(self):
return len(self._data)
@property
def strides(self):
return self._strides
def _flat_index(self, indices):
if len(indices) != len(self._shape):
raise IndexError(
f"Expected {len(self._shape)} indices, got {len(indices)}"
)
idx = 0
for i, (ind, stride) in enumerate(zip(indices, self._strides)):
if ind < 0 or ind >= self._shape[i]:
raise IndexError(
f"Index {ind} out of range for axis {i} with size {self._shape[i]}"
)
idx += ind * stride
return idx
def __getitem__(self, indices):
if not isinstance(indices, tuple):
indices = (indices,)
if len(indices) == len(self._shape):
return self._data[self._flat_index(indices)]
raise IndexError("Partial indexing not supported in this basic implementation")
def __setitem__(self, indices, value):
if not isinstance(indices, tuple):
indices = (indices,)
self._data[self._flat_index(indices)] = value
def reshape(self, new_shape):View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/01-math-foundations/12-tensor-operations/code/tensors.py:80 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/75d5a6dbb6ac76ca.
Report an issue: GitHub.