You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NumPy广播错误:数组形状(6,)与(12,)无法运算问题排查

错误原因分析
  • 问题根源在变量c的生成逻辑:你用了Python列表的+运算符,它的作用是拼接两个列表,而非对应元素相加。A[1]和A[3]都是长度为6的列表,A[1]+A[3]会生成一个长度为12的新列表(两个列表首尾拼接),形状为(12,)。
  • 你的prediction函数中,计算A[i]与A[j]的组合时,应该是期望做元素-wise相加(对应位置数值相加,结果仍为长度6的序列),此时得到的结果形状是(6,)。
  • 当函数尝试计算这个元素-wise相加结果与Q(即c)的范数差时,(6,)和(12,)的序列无法进行numpy广播运算,因此触发了ValueError。

如果要修复这个问题,需要把c改成元素-wise相加的结果:

  • 若使用numpy数组,先将A转换为numpy数组,再用+运算符即可实现元素相加;
  • 若用原生列表,可通过列表推导式实现:c = [x + y for x, y in zip(A[1], A[3])],这样得到的c是长度6的列表,就能和函数内的运算结果匹配。

内容的提问来源于stack exchange,提问作者Ali.A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 13:18:00