Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SequenceMatcher在python中加速使用numba_Python_Numba_Sequencematcher - Fatal编程技术网

使用SequenceMatcher在python中加速使用numba

使用SequenceMatcher在python中加速使用numba,python,numba,sequencematcher,Python,Numba,Sequencematcher,尝试使用numba加速时遇到错误。还有其他加速的方法吗?注“a”和“b”是数据帧。我也有一个gtx1070ti,有没有办法利用gpu呢 from difflib import SequenceMatcher import time z = [] x = [] st = time.time() @jit def calc_dist(a, b): for i in a['name']: for j in (b['name']): cc = Seq

尝试使用numba加速时遇到错误。还有其他加速的方法吗?注“a”和“b”是数据帧。我也有一个gtx1070ti,有没有办法利用gpu呢

from difflib import SequenceMatcher
import time

z = []
x = []

st = time.time()

@jit
def calc_dist(a, b):
    for i in a['name']:
        for j in (b['name']):
            cc = SequenceMatcher(None, i.lower(), j.lower()).ratio()
            if cc > 0.8:
                z.append(i)
                x.append(j)


calc_dist(a, b)

en = time.time()

print(en-st)


不能将数据帧传递给Numba函数。您不能从Numba函数中创建SequenceMatcher对象。有一个更快但没有那么严格的方法吗@Thane Brooker a['name']只是一个列表。@EdwardLiu您的评论说“注意”a和“b”是数据帧。“您可以将列表传递给numba。”。对于numba来说,重写SequenceMaker将是一个有趣的项目,是的,您可以将其卸载到GPU。但是如果您不想重写,那么最简单的加速方法就是坚持使用Python并使用多处理而不是Numba。