Ich habe Numba mit Python3.5 installiert und verwendet

Umgebung

Ubuntu 16.04

Wie installiert man

This Eingerichtet

#Installieren Sie llvm(Wenn Sie es eingeben, ist die Version 3.War 8)
$ sudo apt-get install llvm #Andere Pakete waren ursprünglich enthalten
$ 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

Lauf

Ich bin mir nicht sicher, ob die Zeit gut ist, um die Zeit zu messen, aber ich möchte es nur grob wissen, deshalb ist es mir eigentlich egal.

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)

Sie können die Zeiten vergleichen, indem Sie den Teil @ numba.jit auskommentieren. Wenn Sie nicht auskommentierten, waren es 1,46 Sekunden, und wenn Sie auskommentierten, waren es 26,68 Sekunden, was ** 20-mal schneller ** war. Wenn andererseits die Anzahl der Schleifen von 1000 auf 1 geändert wurde, waren es 0,025 Sekunden, wenn sie nicht auskommentiert wurden, und 0,541 Sekunden, wenn sie auskommentiert wurden, was ohne Verwendung von numba schneller war. Das Kompilieren am Anfang dauert noch lange.

Das erste Bild ist das Bild, wenn die Anzahl der Schleifen bei 0 liegt, und das zweite Bild ist das Bild der insgesamt verstrichenen Zeit. Die vertikale Achse ist die Zeit (Sekunden), die horizontale Achse ist die Anzahl der Schleifen, grün ist ohne numba und blau ist mit numba. around1.png global.png

Recommended Posts

Ich habe Numba mit Python3.5 installiert und verwendet
Ich habe mit PyQt5 und Python3 gespielt
Ich habe Jacobian und teilweise Differenzierung mit Python versucht
Ich habe Funktionssynthese und Curry mit Python versucht
Ich habe fp-Wachstum mit Python versucht
Programmieren mit Python und Tkinter
Ich habe versucht, mit Python zu kratzen
Ver- und Entschlüsselung mit Python
Python und Hardware-Verwenden von RS232C mit Python-
Ich habe den Deep Learning Library Chainer installiert und verwendet
Ich möchte die Optimierung mit Python und CPlex behandeln
Ich habe einen Blackjack mit Python gemacht!
Ergebnisse bei der Beschleunigung numerischer Berechnungen mit Python und Numba
Ich habe Java und Python verglichen!
Ich habe versucht, Python-Code zu beschleunigen, einschließlich der if-Anweisung mit Numba und Cython
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
Python mit Pyenv und Venv
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, Co-Filtering (Empfehlung) mit Redis und Python zu implementieren
Ich habe mit Python einen Blackjack gemacht.
Ich habe Wordcloud mit Python gemacht.
Funktioniert mit Python und R.
Ich habe versucht, Follow Management mit Twitter API und Python (einfach)
[Python] Ich habe das Spiel von pip installiert und versucht zu spielen
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
Diesmal habe ich mit Prorate Python III und IV gelernt
Kommunizieren Sie mit FX-5204PS mit Python und PyUSB
TensorFlow 2.2 kann nicht mit Python 3.8 installiert werden!
Leuchtendes Leben mit Python und OpenCV
Installieren Sie Python 2.7.9 und Python 3.4.x mit pip.
Neuronales Netzwerk mit OpenCV 3 und Python 3
AM-Modulation und Demodulation mit Python
Scraping mit Node, Ruby und Python
pyenv-vertualenv installiert die Python3-Serie nicht gut
Ich habe versucht, WebScraping mit Python.
Kratzen mit Python und schöner Suppe
Ich habe eine SMS mit Python gesendet
JSON-Codierung und -Decodierung mit Python
Hadoop-Einführung und MapReduce mit Python
[GUI in Python] PyQt5-Drag & Drop-
Lesen und Schreiben von NetCDF mit Python
Ich mochte den Tweet mit Python. ..
Beschleunigen Sie Python mit numba grob
Lesen und Schreiben von CSV mit Python
Mehrfachintegration mit Python und Sympy
Ich möchte mit Python debuggen
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Ich habe mit Python einen Daemon erstellt
Ich habe die SMTP-Kommunikation mit Python versucht
Sugoroku-Spiel und Zusatzspiel mit Python
FM-Modulation und Demodulation mit Python
Als ich Python unter macOS installiert und verwendet habe, wurde beim Herstellen einer https-Verbindung eine Fehlermeldung angezeigt
Ich habe eine einfache Schaltung mit Python gemacht (AND, OR, NOR, etc.)
tkinter konnte nicht mit Python verwendet werden, das von pyenv of anyenv installiert wurde
[Python] Bis CuPy unter Windows 10 installiert ist und der CUDA-Kern verwendet wird
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)