numpy 点积 ValueError: shapes (3,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)
最编程
2024-03-04 21:20:09
...
numpy
矩阵点积时,经常遇到这样的错误:
ValueError: shapes (3,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)
这表示点积左边的矩阵维度(dim) 是 3 * 2
的,而右边的数组有 3 个元素,2 != 3
,于是报错。这时可以将右边的数组移到点积的左边,于是变成了 3
个元素的数组和 3 * 2
的矩阵的点积,此时 3 = 3
,便不会报错了。数组和矩阵做点积时,需要相邻的数字相等,否则就会报上面的错误。
numpy.ndarray
进行星乘时,如果维度对不上,提示的错误则如下所示:
ValueError: operands could not be broadcast together with shapes (3,) (2,2)
关于 点积 和 星乘 之间的区别,参考文章numpy 中 的 星乘(*) 和 点乘(.dot) 点积 和 向量乘法(外积)