[PYTHON] J'ai essayé Cython sur Ubuntu sur VirtualBox

J'ai essayé Cython sur Ubuntu sur VirtualBox.

$ sudo apt-get install cython

$ cython -V Vérifiez l'affichage de la version avec.

"Accélérer Python en fusionnant avec Cython C" p3, version Cython de la fonction Fibonacci Enregistrez sous fib.pyx.

fib.pyx


# -*- coding: utf-8 -*-
def fib(n):
    cdef int i
    cdef double a=0.0, b = 1.0
    for i in range(n):
        a, b = a + b, a
    return a

Placez setup.py dans p15 de "Accélérer Python en fusionnant avec Cython C" dans le même répertoire que fib.pyx.

setup.py


from distutils.core import setup
from Cython.Build import cythonize

setup(ext_modules=cythonize('fib.pyx'))

$ python setup.py build_ext --inplace Éxécuter.

Lancez la console IPython dans l'environnement intégré Spyder.

in [1]: import fib

in [2]: fib.fib(1) Out[2]: 1.0

in [3]:fib.fib(90) Out[3]: 2.880067194370816e+18

in [4]: %timeit fib.fib(90) 10000000 loops, best of 3: 137 ns per loop

in [5]: import fib0

in [6]: %timeit fib0.fib(90) 100000 loops, best of 3: 4.78 µs per loop

Dans cet exemple, le CPU lié conduit à une amélioration significative de la vitesse de traitement. Il semble bon d'étudier quel est le goulot d'étranglement dans les problèmes de chaque personne et d'envisager d'utiliser une autre méthode avec ou sans Cython.

Référence: "Accélérer Python en fusionnant avec Cython C" O'Reilly Japon

Post-scriptum: Le site suivant décrit la procédure pour exécuter Cython sur Raspberry Pi. "Tutoriel de travail électronique" 1 Téléchargez Cython http://lumenbolk.com/?p=1054

Remarque: Si vous devez construire scikit-learn ou scikit-image à partir du code source, vous l'exécuterez probablement dans le cadre de la construction sans connaître Cython. Eh bien, il est peu probable que vous ayez à faire cela. Dans la plupart des cas, l'installation de pip devrait suffire.

Recommended Posts

J'ai essayé Cython sur Ubuntu sur VirtualBox
J'ai installé ROS sur Ubuntu 18.04
J'ai essayé MLflow sur Databricks
J'ai essayé d'installer le noyau Linux sur virtualbox + vagrant
J'ai essayé AdaNet pour les données de table
Je ne pouvais pas entrer le japonais sur Ubuntu 20.04
J'ai essayé de jouer à un jeu Windows en utilisant Steam Play sur Ubuntu 20.04 LTS
J'ai essayé d'installer TensorFlow (version GPU) sur Ubuntu
Je suis tombé sur l'installation de la phrase sur ubuntu
J'ai essayé de gratter
J'ai essayé PyQ
Shebang sur Ubuntu 20.04
J'ai essayé AutoKeras
J'ai essayé le moulin à papier
J'ai essayé django-slack
J'ai essayé Django
J'ai essayé spleeter
J'ai essayé cgo
Dask ne peut pas être installé sur Ubuntu avec pip
J'ai essayé d'utiliser l'API à distance avec GAE / J
J'ai essayé d'exécuter YOLO v3 avec Google Colab
[Pythonocc] J'ai essayé d'utiliser la CAO sur un notebook Jupyter
Changer la résolution d'Ubuntu s'exécutant sur VirtualBox
J'ai essayé l'API de message LINE (line-bot-sdk-python) avec GAE
J'ai essayé de jouer avec la calculatrice avec tkinter
J'ai essayé de récupérer les données de l'ordinateur portable en le démarrant sur Ubuntu
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser argparse
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
J'ai essayé d'exécuter pymc
J'ai essayé le spoofing ARP
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
J'ai essayé d'utiliser aiomysql
J'ai essayé Python> autopep8
Installez PySide2 sur Ubuntu
J'ai essayé python pour la première fois avec heroku
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai un UnicodeDecodeError lorsque je pip installé sur ubuntu
J'ai essayé d'utiliser Hubot
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
J'ai essayé d'utiliser ESPCN
J'ai essayé PyCaret2.0 (pycaret-nightly)
J'ai essayé d'utiliser openpyxl
Installez JModelica sur Ubuntu
J'ai essayé un test de régression visuelle sur les pages GitHub
J'ai essayé d'utiliser Ipython
J'ai essayé de déboguer.
J'ai essayé la mapview de Kivy
J'ai essayé d'utiliser ngrok
J'ai essayé d'utiliser face_recognition
Je souhaite utiliser OpenJDK 11 avec Ubuntu Linux 18.04 LTS / 18.10
J'ai essayé d'utiliser PySpark de Jupyter 4.x sur EMR
J'ai essayé d'utiliser Jupyter