TENSOR PREFLIGHT / LOCAL EXECUTION REPORT
Find the failing tensor boundary.
FAIL — inspect before changing code
PyTorch 2.8.0 · Training mode True · Autograd True
Observed result
RuntimeError: mat1 and mat2 shapes cannot be multiplied (2x192 and 64x10)
Deepest unfinished boundary: 1
linear features
Compare the last input dimension with Linear.in_features. After flattening, derive the feature count from the observed tensor and verify axis order before changing the layer.
Changing in_features or reshaping can hide an axis error. Confirm the intended representation rather than selecting dimensions only to make multiplication run.
Module trace
| Module | Type | Status | Inputs | Outputs |
|---|
| <root> | Sequential | raised exception | {
"args": [
{
"kind": "tensor",
"shape": [
2,
3,
8,
8
],
"dtype": "torch.float32",
"device": "cpu",
"requires_grad": false
}
],
"kwargs": {}
} | {} |
| 0 | Flatten | returned | {
"args": [
{
"kind": "tensor",
"shape": [
2,
3,
8,
8
],
"dtype": "torch.float32",
"device": "cpu",
"requires_grad": false
}
],
"kwargs": {}
} | {
"kind": "tensor",
"shape": [
2,
192
],
"dtype": "torch.float32",
"device": "cpu",
"requires_grad": false
} |
| 1 | Linear | exception boundary | {
"args": [
{
"kind": "tensor",
"shape": [
2,
192
],
"dtype": "torch.float32",
"device": "cpu",
"requires_grad": false
}
],
"kwargs": {}
} | {} |
Output contracts
[]
Parameter and buffer metadata
[
{
"module": "<root>",
"parameters": {},
"buffers": {}
},
{
"module": "0",
"parameters": {},
"buffers": {}
},
{
"module": "1",
"parameters": {
"weight": {
"kind": "tensor",
"shape": [
10,
64
],
"dtype": "torch.float32",
"device": "cpu",
"requires_grad": true
},
"bias": {
"kind": "tensor",
"shape": [
10
],
"dtype": "torch.float32",
"device": "cpu",
"requires_grad": true
}
},
"buffers": {}
}
]Scope and sharing
- One observed eager forward path; functional operations are not individually traced.
- A boundary is not proof of the exact failing operation. Handled child exceptions are recorded but do not imply the overall pass failed.
- Execution can mutate model buffers, inputs and random state; training/autograd settings are preserved.
- No backward, optimizer, distributed or compiled execution validation. No automatic repair.
- Tensor values are omitted, but names, shapes and exception messages may contain private information. Review before sharing.