-6ren">
gpt4 book ai didi

python - numpy 点表现异常

转载 作者:行者123 更新时间:2023-11-28 16:34:15 26 4
gpt4 key购买 nike

我是 numpy 的新手。所以我有一个非常简单的矩阵因子乘法,如下所示:

vecT = np.dot(matDT, vecGradU) 

现在根据输入,有时这会产生列向量

print("matDT -> ", matDT.shape)
print("vecGradU -> ", vecGradU.shape)
print("vecT -> ", vecT.shape)

这些是一次输入的结果:

matDT ->  (4, 4)
vecGradU -> (4,)
vecT -> (4,)

另一个输入

matDT ->  (9, 9)
vecGradU -> (9,)
vecT -> (1, 9)

为什么 dot 函数会有不同的行为?

最佳答案

检查两种情况下参数的类型。我怀疑在结果具有形状 (1, 9) 的情况下,matDT 是一个 numpy matrix,而不是一个 numpy ndarray

例如,

In [52]: a = np.array([[1, 2], [3, 4]])

In [53]: m = np.matrix([[1, 2], [3, 4]])

In [54]: b = np.array([4,5])

In [55]: np.dot(a, b)
Out[55]: array([14, 32])

In [56]: np.dot(a, b).shape
Out[56]: (2,)

In [57]: np.dot(m, b)
Out[57]: matrix([[14, 32]])

In [58]: np.dot(m, b).shape
Out[58]: (1, 2)

关于python - numpy 点表现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28721929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com