多种python方法实现矩阵运算

本文探讨了在Python中进行大维度矩阵运算的优化,对比了numpy、scipy、numpy.multi_dot以及mxnet的方法。尽管前三者在大矩阵乘法上的性能相似,但mxnet在运算效率上表现出显著优势,尤其适用于处理大型矩阵。mxnet.ndarray可以方便地与numpy.ndarray转换,但不直接支持DataFrame操作,需要额外转化步骤。

python在做数据处理方面有很大的优势,但是python的运行速度也一直是为诟病的。近期在工作中就遇到了大维度的矩阵乘法的运算,在作为服务时,响应时间略高,工程上需要在不部署其他分布式的前提下,优化运算速度。

接下来用不同的方式计算一个 100002400维 和 240010000维的矩阵并分别输出计算花费的时间。

numpy 方式

	import numpy
	
	aa = np.random.rand(10000, 2400)
	bb = np.random.rand(2400, 10000)
	%timeit cc = np.dot(aa, bb)
	Output: 1 loop, best of 3: 9.21 s per loop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值