使用@jit装饰器运行代码时出现错误。似乎无法找到函数scipy.special.gammainc()的某些信息:
Failed at nopython (nopython frontend)
Unknown attribute 'gammainc' for Module(<module 'scipy.special' from 'C:\home\Miniconda\lib\site-packages\scipy\special\__init__.pyc'>) $164.2 $164.3 = getattr(attr=gammainc, value=$164.2)
没有@jit装饰器,代码将正常运行。也许需要一些使scipy.special模块的属性对Numba可见的东西?
在此先感谢您的任何建议,评论等。
问题在于这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 gammainc
import numba as nb
import 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 y
f(np.linspace(0,20)) # forces it to be JIT'd and outputs an array
然后f.inspect_types()
将这两个循环标识为“提升循环”,这意味着它们将被准时化并快速运行。与的位gammainc
不是JIT’d,而是立即应用于整个数组,因此也应该很快。
我在一起使用mapstruct和lombok时遇到了一些问题: 我的实体和实体类: EntityMapper: 在这种配置中,它会导致编译时错误。所以我试图注释掉@映射注释。它编译了,但它将所有属性映射为空。MapSTRtEntityMapper生成的实现: 我找到了几个关于注释处理器的答案,但看看我的构建。gradle文件: 如果我编译时不使用@Mapping注解,然后使用这个注解运行,有时它会
我在使用: null null 令人惊讶的是,但是toModel方法工作得很好,编译后,我在生成的源代码中看到了下面的内容: 我不知道如何修复这个映射问题。有人能帮忙吗? 下面是我的映射器:
当我使用PDDocument和PDFTextStripper方法时,尽管导入了所有必需的库,但我还是收到了错误。
我是robolectric新手,我只想运行简单测试。 我使用Android Studio=>Gradle 如何找到错误的真正源头?零点异常在哪里?
我正在尝试使用util:constant标记用于ioc,但我得到以下错误消息: 下面是添加了标记的xml,它会导致不同的错误消息: (旁注:由于某种原因,我的格式控件在SO中发布时消失了)