使用 numba 不支持的 numpy 函数

Using numpy functions which numba doesn't support

我目前正在使用一个函数通过 numpy.histogram()numpy.histogram2d() 创建直方图。为了使用numba加快进程,我尝试使用@jit装饰器以nonpython模式解释,但是numba报错说numpy.histogram()是一个不受支持的功能。我的函数看起来像,

def make_histograms(X, neurons, bins = 5):
    xy = np.histogram2d(X, neurons, bins)[0]
    x = np.histogram(X, bins)[0]
    y = np.histogram(neurons, bins)[0]

对于我的案例,是否还有其他解决方法可以使用 numba?任何帮助将非常感激。提前致谢:)

Numba 文档本身提供了一个将 Numba 用于直方图的示例。这看起来很方便;然而,实现 2d 直方图看起来非常深奥和复杂。幸运的是,我发现这个很棒 repo which implements fast_histogram computation with performance improvement equal or sometimes more than Numba. Also, this page 比较它们的性能。 我自己在这里留下这个答案,希望它对某人有用。