栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python / Numba:scipy.special.gammainc()出现未知属性错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python / Numba:scipy.special.gammainc()出现未知属性错误

问题在于这

gammainc
不是Numba固有的一小部分函数(请参阅http://numba.pydata.org/numba-
doc/dev/reference/numpysupported.html)-
实际上没有的功能。不幸的是,这意味着您不能在“ nopython”模式下使用它-
它只需要将其视为普通的python函数调用即可。

如果删除

nopython=True
,它应该可以工作。但是,这并不十分令人满意,因为它可能会更慢。没有看到您的代码,很难知道确切的建议。但是,通常:

  • gammainc
    即使没有nopython,循环(不包含)的速度也会加快。

  • gammainc
    是一个“ ufunc”,这意味着它可以一次轻松地应用于整个阵列,并且无论如何应该快速运行。

  • 您可以致电

    func.inspect_types()
    查看它是否可以编译。

作为一个简单的例子:

from scipy.special import gammaincimport numba as nbimport numpy as np@nb.jit # note - no "nopython"def f(x):  for n in range(x.shape[0]):    x[n] += 1  y = gammainc(x,2.5)  for n in range(y.shape[0]):    y[n] -= 1  return yf(np.linspace(0,20)) # forces it to be JIT'd and outputs an array

然后

f.inspect_types()
将这两个循环标识为“提升循环”,这意味着它们将被准时化并快速运行。与的位
gammainc
不是JIT’d,而是立即应用于整个数组,因此也应该很快。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381002.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号