首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >提高Numpy性能

提高Numpy性能
EN

Stack Overflow用户
提问于 2010-02-04 09:00:43
回答 5查看 7.1K关注 0票数 19

我想使用python提高卷积的性能,并希望获得一些关于如何最好地提高性能的见解。

我目前正在使用scipy执行卷积,使用的代码有点像下面的代码片段:

代码语言:javascript
复制
import numpy
import scipy
import scipy.signal
import timeit

a=numpy.array ( [ range(1000000) ] )
a.reshape(1000,1000)
filt=numpy.array( [ [ 1, 1, 1 ], [1, -8, 1], [1,1,1] ] )

def convolve():
  global a, filt
  scipy.signal.convolve2d ( a, filt, mode="same" )

t=timeit.Timer("convolve()", "from __main__ import convolve")
print "%.2f sec/pass" % (10 * t.timeit(number=10)/100)

我正在使用灰度(0到255之间的整数值)处理图像数据,目前每次卷积大约得到四分之一秒。我的想法是执行以下操作之一:

使用corepy,最好通过一些优化用icc & ikml重新编译numpy。使用python-cuda。

我想知道是否有人有使用这些方法的经验(哪种类型的增益是典型的,是否值得花时间),或者是否有人知道更好的库来执行卷积与Numpy。

谢谢!

编辑:

通过使用Numpy在C中重写python循环,速度提高了大约10倍。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2196693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档