使用NumPy矩阵运算结果不一致

ML饭 ML饭 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
两矩阵,直接点积运算之后抽取一行,与先从矩阵抽出一行再进行点积运算结果不同。

代码:
X = np.random.randn(50, 1000)
Y = X[0]
W = np.random.randn(1000, 10)
A = X.dot(W)
B = Y.dot(W)

测试:
B == A[0]
结果:
array([ True, False, False, False, False, False, False, False, False, False])

测试:
Y.dot(W) - X.dot(W)[0]
结果:
array([ 0.00000000e+00, -6.66133815e-15, 2.22044605e-14, 1.06581410e-14,
8.88178420e-15, -2.30926389e-14, 2.84217094e-14, -3.28626015e-14,
-4.48530102e-14, 3.90798505e-14])

这个结果是否正确?是否能得到相同的结果?

环境:Windows10,Python3.7, NumPy1.17.4

谢谢。

...全文

相关推荐

Python矩阵乘法详解[项目代码]

本文详细介绍了Python中NumPy库提供的几种矩阵乘法操作,包括np.dot()和np.multiply()(或*运算符)。np.dot()用于计算真正意义上的矩阵乘积,适用于二维矩阵和一维向量的内积计算。而np.multiply()和*运算符则用于实现矩阵的对应元素相乘(element-wise product)。文章通过具体的代码示例展示了这两种乘法操作的使用方法和输出结果,帮助读者更好地理解和应用这些操作。

jjj34438

NumPy可视化指南.pdf

用可视化的方式掌握Numpy

meppp

NumPy属性错误解决方案[可运行源码]

文章详细分析了在使用NumPy时遇到的AttributeError: module ‘numpy‘ has no attribute ‘object‘错误的原因及解决方案。错误主要由NumPy版本不一致引起,例如TensorFlow2.4.3使用NumPy1.19.X版本,而1.20版本已移除该方法。解决方案包括升级TensorFlow或降级NumPy至1.19.5。此外,2024年新发现的问题涉及conda管理时NumPy和NumPy-base版本不一致,需手动指定NumPy-base版本为1.19.5以避免错误。

transformer2023

numpy.all()与any()函数解析[项目代码]

本文详细介绍了NumPy库中的all()和any()函数的用法及其区别。all()函数用于判断数组中所有元素是否满足条件,返回True或False,实现逻辑与(AND)运算;any()函数则判断数组中是否有任一元素满足条件,实现逻辑或(OR)运算。文章通过多个示例展示了这两个函数在不同场景下的应用,包括对矩阵元素的判断、逻辑运算的实现以及如何比较两个NumPy数组是否相等。此外,还指出了使用这些函数时需要注意的细节,如数组形状的一致性等。

green

Numpy 参考手册英文版

Numpy 官方参考手册英文版。1.15.4版本。内容详尽,可供参考。

CQ_BD94
评论 7
收藏 已收藏
分享
返回顶部
ML饭
脚本语言 37,737 成员 34,208 内容