J'ai installé et utilisé Numba avec Python3.5

environnement

Ubuntu 16.04

Comment installer

Ce installée

#Installez llvm(Si vous le mettez, la version est 3.Était 8)
$ sudo apt-get install llvm #D'autres packages étaient initialement inclus
$ sudo pip3 install enum34 funcsigs
$ sudo LLVM_CONFIG=/usr/bin/llvm-config-3.8 pip3 install llvmlite
$ sudo LLVM_CONFIG=/usr/bin/llvm-config-3.8 pip3 install numba

Courir

Je ne sais pas si le temps est bon pour mesurer le temps, mais je veux juste savoir approximativement, donc je m'en fiche.

import time
import numpy as np
import numba

@numba.jit
def rando(a):
    for i in range(N):
        for j in range(N):
            a[i][j] = np.random.rand()
    return a

start = time.time()
N = 100
a = np.zeros((N, N))
for i in range(1000):
    a = rando(a)

end = time.time()

print(end - start)

Vous pouvez comparer les temps en commentant la partie @ numba.jit. Si vous n'avez pas fait de commentaire, c'était 1,46s, et si vous avez commenté, c'était 26,68s, ce qui était ** 20 fois plus rapide **. D'autre part, lorsque le nombre de boucles est passé de 1000 à 1, il était de 0,025 s lorsqu'il n'était pas commenté et de 0,541 s lorsqu'il était commenté, ce qui était plus rapide sans utiliser numba. La compilation est encore longue au tout début.

La première image est l'image lorsque le nombre de boucles est d'environ 0, et la deuxième image est l'image du temps écoulé global. L'axe vertical est le temps (secondes), l'axe horizontal est le nombre de boucles, le vert est sans numba et le bleu est avec numba. around1.png global.png

Recommended Posts

J'ai installé et utilisé Numba avec Python3.5
J'ai joué avec PyQt5 et Python3
J'ai essayé la différenciation jacobienne et partielle avec python
J'ai essayé la synthèse de fonctions et le curry avec python
J'ai essayé fp-growth avec python
Programmation avec Python et Tkinter
J'ai essayé de gratter avec Python
Chiffrement et déchiffrement avec Python
Python et matériel - Utilisation de RS232C avec Python -
J'ai installé et utilisé la bibliothèque Deep Learning Chainer
Je veux gérer l'optimisation avec python et cplex
J'ai fait un blackjack avec du python!
Résultats lors de l'accélération des calculs numériques avec Python et Numba
J'ai comparé Java et Python!
J'ai essayé d'accélérer le code Python, y compris l'instruction if avec Numba et Cython
J'ai essayé de faire LINE BOT avec Python et Heroku
python avec pyenv et venv
J'ai essayé gRPC avec Python
J'ai essayé de gratter avec du python
J'ai essayé de mettre en œuvre le co-filtrage (recommandation) avec redis et python
J'ai fait un blackjack avec Python.
J'ai créé wordcloud avec Python.
Fonctionne avec Python et R
J'ai essayé la gestion du suivi avec l'API Twitter et Python (facile)
[Python] J'ai installé le jeu depuis pip et j'ai essayé de jouer
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
Cette fois, j'ai appris python III et IV avec Prorate
Communiquez avec FX-5204PS avec Python et PyUSB
TensorFlow 2.2 ne peut pas être installé avec Python 3.8!
Briller la vie avec Python et OpenCV
Installez Python 2.7.9 et Python 3.4.x avec pip.
Réseau neuronal avec OpenCV 3 et Python 3
Modulation et démodulation AM avec python
Scraping avec Node, Ruby et Python
pyenv-vertualenv n'installe pas correctement la série python3
J'ai essayé webScraping avec python.
Grattage avec Python et belle soupe
J'ai envoyé un SMS avec Python
Encodage et décodage JSON avec python
Introduction à Hadoop et MapReduce avec Python
[GUI en Python] PyQt5-Glisser-déposer-
Lire et écrire NetCDF avec Python
J'ai aimé le tweet avec python. ..
Accélérez grossièrement Python avec numba
Lire et écrire du CSV avec Python
Intégration multiple avec Python et Sympy
Je veux déboguer avec Python
J'ai essayé d'exécuter prolog avec python 3.8.2.
Coexistence de Python2 et 3 avec CircleCI (1.0)
J'ai créé un démon avec Python
J'ai essayé la communication SMTP avec Python
Jeu Sugoroku et jeu d'addition avec Python
Modulation et démodulation FM avec Python
Lorsque j'ai installé python sur macOS et que je l'ai utilisé, j'ai eu une erreur lorsque j'ai mis une connexion https
J'ai fait un circuit simple avec Python (AND, OR, NOR, etc.)
tkinter n'a pas pu être utilisé avec python installé par pyenv de anyenv
[Python] Jusqu'à ce que CuPy soit installé sur Windows 10 et que le noyau CUDA soit utilisé
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)