Wenn ich versuche, @jit für meine Klassenmethode zu verwenden, erhalte ich IndentationError: unexpected indent

Ich habe seit einigen Tagen versucht, @ zu bekomm@jit arbeiten, um meinen Code zu beschleunigen. Endlich bin ich auf dieses Problem gestoßen und habe beschrieben, wie man @ hinzufüg@jit zu Objektmethoden:http: //williamjshipman.wordpress.com/2013/12/24/learning-python-eight-ways-to-filter-an-imag

Ich habe eine Klasse namensGentleBoostC und ich möchte die Methode darin beschleunigen, die @ genannt witrain. train akzeptiert drei Argumente (ein 2D-Array, ein 1D-Array und eine Ganzzahl) und gibt nichts zurück.

Das habe ich im Code:

import numba
from numba import jit, autojit, int_, void, float_, object_


class GentleBoostC(object):
    # lots of functions

    # and now the function I want to speed up
    @jit (void(object_,float_[:,:],int_[:],int_)) 
    def train(self, X, y, H):
        # do stuff

Aber es wird immer wieder ein Einrückungsfehler angezeigt, der auf die Linie verweist, die die Zugfunktion definiert. An meinen Gedankenstrichen ist nichts auszusetzen. Ich habe meinen gesamten Code neu eingerückt. Und wenn ich die Zeile mit @ auskommentie@jit, dann gibt es keine Probleme.

Hier ist der genaue Fehler:

   @jit (void(object_,float_[:,:],int_[:],int_))
  File "C:\Users\app\Anaconda\lib\site-packages\numba\decorators.py", line 224, in _jit_decorator
    nopython=nopython, func_ast=func_ast, **kwargs)
  File "C:\Users\app\Anaconda\lib\site-packages\numba\decorators.py", line 133, in compile_function
    func_env = pipeline.compile2(env, func, restype, argtypes, func_ast=func_ast, **kwds)
  File "C:\Users\app\Anaconda\lib\site-packages\numba\pipeline.py", line 133, in compile2
    func_ast = functions._get_ast(func)
  File "C:\Users\app\Anaconda\lib\site-packages\numba\functions.py", line 89, in _get_ast
    ast.PyCF_ONLY_AST | flags, True)
  File "C:\Users\app\Documents\Python Scripts\gentleboost_c_class_jit_v5_nolimit.py", line 1
    def train(self, X, y, H):
    ^
IndentationError: unexpected indent

Antworten auf die Frage(1)

Ihre Antwort auf die Frage