2014-01-05 5 views
5

numbaで奇妙なエラーが発生します。Numbaエラー:NotImplementedError:{i64、i8 *} *から{i64、i8 *}にキャストすることができません

self.residuals 
Out[1]: 
array([ 0.00027274, 0.06000376, 0.01042219, 0.02850773, -0.01411178, 
     -0.01929838, 0.00385101, -0.01630044, 0.03715821, 0.02258934, 
     0.05662874, -0.02359702, -0.01823098, -0.03092986, 0.02994069, 
     0.01090546, -0.02475619, -0.01020354, -0.00332659, -0.01734819, 
     0.01957363, -0.02706434, 0.01215692, -0.05122325, -0.02016905, 
     -0.0472204 , 0.0183388 , 0.00319104, -0.04198954, 0.00586023, 
     -0.03320624, 0.0061127 , -0.04101338, 0.07630624, -0.04561496, 
     -0.01602609, 0.03317164, -0.02177255, -0.001892 , -0.01752149, 
     -0.01062089, -0.00036998, -0.02321696, -0.01139503, -0.04052122, 
     0.01033072, -0.04154074, 0.00703859, 0.01299577, 0.0532591 , 
     0.02145779, 0.06422423, -0.02635143, -0., -0.00905247, 
     -0.03167185, 0.02384259, 0.03086425, 0.02310251, -0.003188 , 
     0.01928799, -0.02143164, -0.01694362, 0.00274987, -0.03429799, 
     0.0, -0., -0.01822308, 0.01739987, 0.05260887, 
     -0.01671929, -0.0451185 , -0.00253769, -0.01643629, 0.0689997 , 
     0.07316202, -0.05564215, 0.02830494, 0.02396265, -0.00335834, 
     -0.00328183, -0.01633152, -0.02944809, -0.01730992, 0.02290413, 
     0.03344062, -0.03211203, 0.00115551, -0.0348293 , 0.01106866, 
     -0.00334149, -0.000305 , 0.00499175, -0.00023061, 0.00635803, 
     -0.01883831, -0.01078026, 0.01491779, 0.04605717, -0.01274995, 
     -0.00380779, 0.03336405, -0.01263997, 0.02967207, -0.00949215, 
     -0.0239608 , 0.02311184, -0.03347211, -0.01047334, 0.02570358, 
     -0.02749113, 0.01718504, -0.00012177, 0.03942462, -0.02854834, 
     -0.00689199, 0.00769279, 0., -0.02212167, 0.02312826, 
     -0.00335928, 0.00626517, 0.0127933 , 0.00980856, 0.02102578, 
     -0.00291102, 0.02605287, 0.00453684, 0.01697849, -0.01733679, 
     0.02957533, -0.00981372, 0.01504038, -0.00308469, -0.01067471, 
     0.02550573, 0.01636283, 0.00386063, 0.01584089, 0.02774164, 
     0.01026229, -0.01319894, 0.0047792 , 0.01137512, -0.00017363, 
     -0.0026951 , 0.023888 , -0.0178131 , -0.00043418, 0.00078961, 
     -0.01046682, -0.01422187, 0.02284845, 0.01530962, -0.00277356, 
     -0.047021 , -0.0233437 , -0.00700932, -0.00461674, 0.04386189, 
     0.03214708, 0.02512427, 0.05888554, 0.00946264, -0.01649079, 
     -0.01824022, 0.00305155, 0.02141179, 0.02040107, 0.01223521, 
     0.04182406, 0.01200173, -0.00666375, 0.00839121, 0.00601783, 
     0.00727748, -0.01839253, -0.02627941, 0.00040831, -0.00348844, 
     0.0396223 , 0.01587524, 0.05635961, 0.00638051, 0.03315842, 
     -0.02278018, -0.00149056, -0.00028848, -0.09895528, 0.02313064, 
     0.02065743, -0.00115973, -0.00135562, -0.02609936, 0.00146749, 
     0.01020923, -0.07006086, 0.04481519, 0.02428593, 0.00513643, 
     0.00386419, -0.03904007, 0.02584459, 0.02042376, -0.00415313, 
     0.0250591 , 0.0078504 , 0.01071272, 0.01446379, 0.04678684, 
     -0.030569 , 0.00499873, -0.00121879, -0.00028605, -0.01341486, 
     -0.00119668, 0.0102857 , -0.03408491, -0.01151752, 0.02421846, 
     -0.0126916 , 0.03427147, -0.00672604, 0.00265135, 0.04540966, 
     -0.05231339, 0.00802635, 0.02506964, 0.00188135, 0.03521239, 
     -0.01252548, -0.0487149 , -0.01607805, 0.06138833, -0.02267715, 
     -0.00883121, 0.04540312, -0.02248676, 0.01033092, -0.01845178, 
     -0.00950717, -0.03646932, 0.05394227, -0.03149327, -0.02139244, 
     -0.00629822, -0.01885609, -0.00724694, 0.01627761, 0.02120749]) 

self.sigma 
Out[1]: 
array([ 0.02647903, 0.02580863, 0.02854044, 0.02781347, 0.02778348, 
     0.02719822, 0.02682252, 0.02614003, 0.02575487, 0.02647783, 
     0.02629712, 0.0285969 , 0.02826486, 0.02776125, 0.0278659 , 
     0.02790585, 0.02723722, 0.02708099, 0.02646327, 0.02580474, 
     0.02548335, 0.025272 , 0.02542612, 0.0249857 , 0.02698342, 
     0.02665878, 0.02803867, 0.02755763, 0.02681504, 0.02775527, 
     0.02702024, 0.02733631, 0.02663591, 0.0275261 , 0.0317507 , 
     0.03234794, 0.03145869, 0.03131707, 0.03068293, 0.02970747, 
     0.02906351, 0.02830046, 0.02749342, 0.02724532, 0.02663881, 
     0.02749216, 0.02684456, 0.02774718, 0.02702682, 0.02647462, 
     0.02842004, 0.02801799, 0.03078638, 0.03037759, 0.02954908, 
     0.0287226 , 0.02876979, 0.02843258, 0.02846502, 0.02812427, 
     0.02733939, 0.026951 , 0.02667852, 0.02626748, 0.02562064, 
     0.02616582, 0.02552095, 0.02507717, 0.02485235, 0.02461849, 
     0.0268124 , 0.02638272, 0.02762759, 0.02687628, 0.02643228, 
     0.03003171, 0.0333827 , 0.03453727, 0.03389183, 0.03312942, 
     0.03199099, 0.03093019, 0.03015629, 0.02994792, 0.02927847, 
     0.02885815, 0.0289911 , 0.02903535, 0.0281757 , 0.02846391, 
     0.02775531, 0.02699883, 0.02628887, 0.0256573 , 0.02505049, 
     0.02453268, 0.02438172, 0.02399769, 0.02375888, 0.02547854, 
     0.02504846, 0.02450438, 0.02512236, 0.02471973, 0.02508061, 
     0.02461088, 0.02467567, 0.02469342, 0.02529554, 0.02482779, 
     0.02495733, 0.02516796, 0.02489793, 0.02435106, 0.02542535, 
     0.02564393, 0.02508549, 0.02458393, 0.02422082, 0.02423858, 
     0.02430145, 0.0238144 , 0.02339728, 0.02315016, 0.02285179, 
     0.02295964, 0.02258121, 0.02297639, 0.02260993, 0.02257341, 
     0.02255411, 0.02316487, 0.02286531, 0.0227356 , 0.02237744, 
     0.0221682 , 0.02258031, 0.02252393, 0.02219001, 0.02215312, 
     0.02269849, 0.02245043, 0.02230218, 0.02199653, 0.02184009, 
     0.02154876, 0.02129164, 0.02171611, 0.02180259, 0.02151474, 
     0.02125285, 0.02114355, 0.02115455, 0.02153887, 0.02154778, 
     0.02129126, 0.02352853, 0.02367564, 0.0232808 , 0.02288927, 
     0.02455152, 0.02508442, 0.02515797, 0.02789379, 0.0271991 , 
     0.0267295 , 0.02635739, 0.02570532, 0.02554735, 0.02536272, 
     0.02492956, 0.02611233, 0.02561108, 0.02505219, 0.02456478, 
     0.02408222, 0.0236572 , 0.02357261, 0.02386815, 0.0234048 , 
     0.02299286, 0.02427669, 0.0240433 , 0.02672357, 0.02607349, 
     0.02649293, 0.02631903, 0.02566302, 0.02505579, 0.03301026, 
     0.03228805, 0.03153822, 0.03050111, 0.02953701, 0.02922853, 
     0.02835562, 0.02763884, 0.03111266, 0.03172814, 0.03115373, 
     0.03016414, 0.02923511, 0.02967298, 0.02934095, 0.02882213, 
     0.0279922 , 0.0277788 , 0.02706721, 0.02646064, 0.02599358, 
     0.02743368, 0.02755225, 0.02682387, 0.02612851, 0.0254851 , 
     0.02507182, 0.02451255, 0.02410654, 0.02482254, 0.02441787, 
     0.02451516, 0.02416618, 0.0248875 , 0.02438786, 0.02388931, 
     0.02553014, 0.02754089, 0.02685012, 0.02674541, 0.026058 , 
     0.02661146, 0.02608169, 0.02767567, 0.02715383, 0.0297839 , 
     0.02931113, 0.02849885, 0.02948042, 0.02902629, 0.02826068, 
     0.02776472, 0.02708077, 0.0275969 , 0.02942746, 0.02939432, 
     0.02890609, 0.02808997, 0.02762202, 0.02691396, 0.02646187, 
     0.02622503]) 

完全なエラーは次のとおりです:

Traceback (most recent call last): 
    File "C:\Anaconda\envs\p33\lib\site-packages\IPython\core\interactiveshell.py", line 2732, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-1-d063d30a36f8>", line 1, in <module> 
    execfile('C:\\Users\\Jon\\workspace\\FundsAnalysis\\src\\examples\\ar-garch\\ar_garch3.py') 
    File "C:\eclipse_kepler\plugins\org.python.pydev_2.7.5.2013052819\pysrc\_pydev_execfile.py", line 38, in execfile 
    exec(compile(contents+"\n", file, 'exec'), glob, loc) #execute the script 
    File "C:\Users\Jon\workspace\FundsAnalysis\src\examples\ar-garch\ar_garch3.py", line 225, in <module> 
    ar_garch.evaluate() 
    File "C:\Users\Jon\workspace\FundsAnalysis\src\examples\ar-garch\ar_garch3.py", line 158, in evaluate 
    self._generate_broadcasted_forecasts() 
    File "numbawrapper.pyx", line 287, in numba.numbawrapper.BoundSpecializingWrapper.__call__ (numba\numbawrapper.c:5041) 
    File "numbawrapper.pyx", line 189, in numba.numbawrapper._NumbaSpecializingWrapper.__call__ (numba\numbawrapper.c:3726) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\wrapping\compiler.py", line 68, in compile_from_args 
    return self.compile(signature) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\wrapping\compiler.py", line 83, in compile 
    compiled_function = dec(self.py_func) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\decorators.py", line 222, in _jit_decorator 
    env, func, argtys, restype=return_type, nopython=nopython, **kwargs) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\decorators.py", line 133, in compile_function 
    func_env = pipeline.compile2(env, func, restype, argtypes, **kwds) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\pipeline.py", line 134, in compile2 
    post_ast = pipeline(func_ast, env) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\pipeline.py", line 181, in __call__ 
    ast = self.transform(ast, env) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\pipeline.py", line 602, in transform 
    ast = stage(ast, env) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\pipeline.py", line 587, in _stage 
    return _check_stage_object(stage_obj)(ast, env) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\pipeline.py", line 184, in __call__ 
    ast = self.transform(ast, env) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\pipeline.py", line 499, in transform 
    func_env.translator.translate() 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\codegen\translate.py", line 314, in translate 
    self.visit(node) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\codegen\translate.py", line 128, in visit 
    return fn(node) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\codegen\translate.py", line 554, in visit_Assign 
    decref=decref, incref=incref) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\codegen\translate.py", line 566, in generate_assign_stack 
    lvalue = self.caster.cast(lvalue, ltarget.type.pointee) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\llvm_types.py", line 91, in cast 
    return self.build_cast(self.builder, lvalue, dst_ltype, *args, **kws) 
    File "C:\Anaconda\envs\p33\lib\site-packages\numba\llvm_types.py", line 191, in build_cast 
    (str(lty1), str(lty2))) 
NotImplementedError: Unable to cast from { i64, i8* }* to { i64, i8* }. 
私はアナコンダを使用しています

、Pythonは3.3

私はautojitしようとしている機能は、データがある

@autojit 
def _generate_broadcasted_forecasts(self): 
    x = np.array(self.residuals[1:] , dtype=float) 
    y = np.array(self.sigma[1:-1] , dtype=float) 
    errors = x/y 
    self.errors = errors 

です

ブレークを設定する

File "C:\Anaconda\envs\p33\lib\site-packages\numba\llvm_types.py", line 191, in build_cast 

ライン190でOITは、私は前にいくつかの行を見て、残念ながら

lkind1==14 
lkind2==12 

が、私はそれが何を意味するのか理解するためにnumbaについて十分に知っていないため、エラーがトリガされた見つけます。

完全にするために、エラーが発生した機能は次のとおりです。私は間違って何をやっている

@classmethod 
def build_cast(cls, builder, lval1, lty2, *args, **kws): 
    ret_val = lval1 
    lty1 = lval1.type 
    lkind1 = lty1.kind 
    lkind2 = lty2.kind 

    # This looks like the wrong place to enforce this 
    # TODO: We need to pass in the numba types instead 
    # if lc.TYPE_INTEGER in (lkind1, lkind2) and 'unsigned' not in kws: 
    #  # Be strict about having `unsigned` define when 
    #  # we have integer types 
    #  raise ValueError("Unknown signedness for integer type", 
    #      '%s -> %s' % (lty1, lty2), args, kws) 

    if lkind1 == lkind2: 

     if lkind1 in cls.CAST_MAP: 
      ret_val = cls.CAST_MAP[lkind1](cls, builder, lval1, lty2, 
              *args, **kws) 
     else: 
      raise NotImplementedError(lkind1) 
    else: 
     map_index = (lkind1, lkind2) 
     if map_index in cls.CAST_MAP: 
      ret_val = cls.CAST_MAP[map_index](cls, builder, lval1, lty2, 
               *args, **kws) 
     else: 
      raise NotImplementedError('Unable to cast from %s to %s.' % 
             (str(lty1), str(lty2))) 
    return ret_val 

?ここに投稿するコードスニペットを作成しようとしましたが、エラーを再現できません。

from numba import autojit 

import numpy as np 

@autojit 
def numba1(): 
    return np.array([1,2,3]) 

@autojit 
def numba2(): 
    x = np.array([1.0,2.0,3.0,4.0]) 
    y = np.array([1.0,2.0,3.0,4,5.0])  
    z = x[1:]/y[1:-1]  
    return np.sqrt(z) 


print(numba1()) 
print(numba2()) 
+0

すなわち

、私はその気持ちを持っていますself.errors = errors – Ginger

+0

関数が呼び出される前にself.errorsが設定されていない – Ginger

+0

_generate_broadcasted_forecasts()を呼び出す前にself.errorsを空の配列に設定すると助けになりません。 – Ginger

答えて

3

私は私がしなければならなかった何This Examples Page

クラスセクションから修正がのinit(...)でself.errorsを宣言しましたが見つかりました:以下の私のマシン上で動作すなわち私のコードの行をコメントアウトを通じて

def __init__(self):   
    self.errors = np.ndarray(0) 
関連する問題