python与matlab速度谁快_python – 微软运行速度为MATLAB的一半
我已将MATLAB代码移植到Python中,经过相当多的工作,我有一些可以工作的东西.不过,缺点是Python比MATLAB运行我的代码更慢.我明白,使用优化的ATLAS库将加快速度,但实际实现这一点让我感到困惑.这是怎么回事我启动了没有安装BLAS的ipython会话:import numpy.distutils.system_info as sysinfoimport timeIn [11]:
我已将MATLAB代码移植到
Python中,经过相当多的工作,我有一些可以工作的东西.不过,缺点是Python比MATLAB运行我的代码更慢.我明白,使用优化的ATLAS库将加快速度,但实际实现这一点让我感到困惑.这是怎么回事
我启动了没有安装BLAS的ipython会话:
import numpy.distutils.system_info as sysinfo
import time
In [11]: sysinfo.get_info('atlas')
Out[11]: {}
timeit( eig(randn(1E2,1E2)) )
100 loops, best of 3: 13.4 ms per loop
Matlab中的相同代码运行速度是两倍
tic,eig(randn(1E2));toc*1000
6.5650
我从Ubuntu存储库安装非优化的ATAS deb.重新启动ipython,现在我得到:
In [2]: sysinfo.get_info('atlas')
...
Out[2]:
{'define_macros': [('ATLAS_INFO', '"\\"3.8.4\\""')],
'include_dirs': ['/usr/include/atlas'],
'language': 'f77',
'libraries': ['lapack', 'f77blas', 'cblas', 'atlas'],
'library_dirs': ['/usr/lib/atlas-base/atlas', '/usr/lib/atlas-base']}
和测试代码:
In [4]: timeit( eig(randn(1E2,1E2)) )
100 loops, best of 3: 16.8 ms per loop
所以没有更快.如果任何一个触摸更慢.但是我还没有切换到优化的BLAS.我按照以下说明:http://danielnouri.org/notes/category/python/我构建库并用这些覆盖非优化版本.我重新启动了ipython,但没有改变:
In [4]: timeit( eig(randn(1E2,1E2)) )
100 loops, best of 3: 15.3 ms per loop
不能比这更好吗?在这个简单的例子中,MATLAB的速度仍然是两倍.在一个现实世界的例子中,我在傅立叶域中进行图像注册,Matlab相当于Python版本的4到5倍.有没有人设法让Numpy以MATLAB速度工作?
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)