Некоторые распространённые причины ошибки «mat1 and mat2 shapes cannot be multiplied»:
- Использование двух 2D-тензоров одинаковой формы. 2 В этом случае для решения проблемы можно транспонировать один из двух входных тензоров. 2
- Использование 1D-тензора в качестве входа для линейного слоя. 2
- Использование 3D или тензора с более высоким количеством измерений в качестве входа для линейного слоя. 2
- Использование двух тензоров с разными размерами партии для матричного умножения. 2
Чтобы избежать ошибки, нужно проверить формы тензоров и убедиться, что они совместимы для матричного умножения. 25 Для этого можно использовать атрибут .shape или функцию torch.size(). 2