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

如何使用Numpy生成指定多维矩阵,实现A元素与B矩阵的批量乘积运算

实现方法

你需要的效果可以通过NumPy的广播机制实现,对应你给出的示例输出,代码如下:

import numpy as np

A = np.array([
    [1, 1],
    [2, 2],
])

B = np.array([
    [0.5, 0.3],
    [0.1, 0.6],
])

# 得到你示例中结构的C,形状为(2, 2, 2)
C = A[:, 0, np.newaxis, np.newaxis] * B

# 如果你需要A中每个元素都独立乘以完整B矩阵,最终得到(2, 2, 2, 2)的全量结果,用下面的写法
# C_full = A[..., np.newaxis, np.newaxis] * B

打印C可以得到和你期望完全一致的结果:

array([[[0.5, 0.3],
        [0.1, 0.6]],

       [[1. , 0.6],
        [0.2, 1.2]]])

原理解释

  • A[:, 0] 提取了A的第一列,得到数组[1, 2],形状为(2,)
  • 加两个np.newaxis是把维度扩展为(2, 1, 1),和形状为(2,2)的B做乘法时会自动触发广播,自动把1、2两个值分别和完整的B矩阵相乘,最终得到你需要的结构。

内容的提问来源于stack exchange,提问作者kabi994

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:57:03