http://qiita.com/open_cans/items/f180ae4dc945dc7b9066 Dies ist eine Fortsetzung dieses Artikels. Ich schreibe hauptsächlich für Leute, die sich für Millisekunden oder Mikrosekunden interessieren.
numba ist ein Typ, der Python-Code mit einem JIT-Compiler kompiliert, um ihn schneller zu machen Ein ziemlich erstaunlicher Typ, der sehr leicht beschleunigen kann
sample.py
import numba
@numba.jit
def sumation(num):
sum=0
for i in range(num):
sum += i
return sum
sum = sumation(100)
print(sum)
Vor der Funktion wie in der dritten Zeile @numba.jit Einfach schreiben Es ist erstaunlich, wie einfach es ist, schneller zu werden! !!
Es ist einfach, aber es gibt einige Dinge zu beachten, wenn Sie es verwenden, also werde ich sie auflisten.
Im vorherigen Artikel habe ich es wie die beste Einschlussnotation geschrieben, aber es kann nicht mit numba verwendet werden. Ich glaube nicht, dass es da ist, aber wenn Sie sich den vorherigen Artikel ansehen und die Einschlussnotation schreiben, müssen Sie die Einschlussnotation in eine for-Anweisung umschreiben
sample.py
import numba
@numba.jit
def inputList(num):
temp=[]
temp.append(num)
return sum
sum = inputList(100)
print(sum)
Ich bekomme eine Fehlermeldung, wenn ich so schreibe Temp = [] ist die Ursache
Wenn Sie @ numba.jit in eine Funktion schreiben, die überhaupt nicht funktioniert, wird der Fehler ausgeblendet und Sie werden ihn nicht gut verstehen. Schreiben Sie daher unbedingt @ numba.jit, nachdem Sie bestätigt haben, dass es zuverlässig funktioniert
Manchmal versuche ich, eine Funktion zu beschleunigen, die numpy mit numba verwendet, aber manchmal kann ich nicht. Anscheinend unterstützen einige Numba-Funktionen Numpy nicht. Dieser Artikel (http://nekowarau.seesaa.net/article/428663212.html) Laut numba ist die von numba unterstützte numpy-Funktion (http://numba.pydata.org/numba-doc/0.14/numpy_support.html). Scheint in der Lage zu sein, mit zu bestätigen
Wenn dies nicht der Fall ist, schreiben Sie die Funktion in Scratch Dann können Sie den Vorteil einer Beschleunigung nutzen.
Recommended Posts