http://qiita.com/open_cans/items/f180ae4dc945dc7b9066 Ceci est une suite de cet article. J'écris principalement pour les gens qui se soucient des millisecondes ou des microsecondes.
numba est un gars qui compile du code python avec un compilateur jit pour le rendre plus rapide Un gars assez incroyable qui peut accélérer très facilement
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)
Avant la fonction comme dans la troisième ligne @numba.jit Ecrivez C'est incroyable comme il est facile d'accélérer! !!
C'est facile, mais il y a certaines choses à garder à l'esprit lors de son utilisation, je vais donc les énumérer.
Dans l'article précédent, je l'ai écrit comme la meilleure notation d'inclusion, mais elle ne peut pas être utilisée avec numba. Je ne pense pas que ce soit là, mais si vous regardez l'article précédent et écrivez la notation d'inclusion, vous devez réécrire la notation d'inclusion dans l'instruction for.
sample.py
import numba
@numba.jit
def inputList(num):
temp=[]
temp.append(num)
return sum
sum = inputList(100)
print(sum)
Si vous écrivez comme ça, vous obtiendrez une erreur Temp = [] est la cause
Si vous écrivez @ numba.jit dans une fonction qui ne fonctionne pas en premier lieu, l'erreur sera masquée et vous ne la comprendrez pas bien, alors assurez-vous d'écrire @ numba.jit après avoir confirmé que cela fonctionne de manière fiable
Parfois, j'essaie d'accélérer une fonction qui utilise numpy avec numba, mais parfois je ne peux pas. Apparemment, certaines fonctions numba ne prennent pas en charge numpy. Cet article (http://nekowarau.seesaa.net/article/428663212.html) Selon numba, la fonction numpy prise en charge par numba est (http://numba.pydata.org/numba-doc/0.14/numpy_support.html). Semble pouvoir confirmer avec
Si ce n'est pas le cas, écrivez la fonction en scratch Ensuite, vous pouvez bénéficier de l'accélération.
Recommended Posts