如何使jit与collections模块一起工作?

我尝试通过在GPU上运行代码来优化代码,但是遇到以下错误。
另外,我对此还很陌生,所以我几乎不知道如何使用numba装饰器,而我的目标是加快程序执行速度。

ValueError: cannot determine Numba type of <class 'collections.defaultdict'>

@jit(target = "cuda")
def initialize(foreign_no_of_words,foreign_l,english_l,num_dict_dutch,num_dict_eng):
    probabilities = {} # Initializing proablities
    #count = {} # Count
    counter = 1
    index = -1*(foreign_no_of_words)

    num_dict_dutch = make_dict_dutch(foreign_l,num_dict_dutch)

    for i in english_l.keys():
        for j in foreign_l.keys():
            s = i+"_"+j
            probabilities[s] = 1/foreign_no_of_words

            #count[s] = 0

        index = write_to_file(probabilities,i,counter,PROB_FILE,foreign_no_of_words,index,num_dict_eng)
        #write_to_file(count,COUNT_FILE)
        counter +=1
        probabilities ={}

    return True

目标是减少功能运行时间。

wenzhubin 回答:如何使jit与collections模块一起工作?

Numba不支持整个python语言,但是可以增强其功能的一个(不断增长的)子集。请参阅:

https://numba.pydata.org/numba-doc/dev/reference/pysupported.html https://numba.pydata.org/numba-doc/dev/reference/numpysupported.html

当前,numba仅支持namedtuples模块中的collections。另外请注意,为GPU编写代码的限制更大:

http://numba.pydata.org/numba-doc/latest/cuda/index.html#cuda-index

本文链接:https://www.f2er.com/3166952.html

大家都在问