ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0 解决办法
短信预约 -IT技能 免费直播动态提醒
【报错】使用 python numpy包编程时出现 ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?)
错误提示。很多问答说的是scipy包的版本过高,但尝试重装低版本的包还是不能解决问题。
【原因】程序报错位置计算的是 d*1 矩阵 和 1*q 矩阵的乘法运算,numpy将 d*1 矩阵自动压缩为d维向量,导致无法使用np.matmul()矩阵乘法。
【解决办法】将 (n,) 转为 (n,1)即可。
修改前:
c=np.matmul(a,b)#a:(d,) b:(1,q)
修改后:
a=a.reshape(-1,1)c=np.matmul(a,b)#a:(d,1) b:(1,q) c:(d,q)
来源地址:https://blog.csdn.net/m0_51976564/article/details/127626420
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341