Articles of numba

Algoritmo eficiente para evaluar un conjunto de funciones 1-d en un conjunto de 1d numpy de la misma longitud

Tengo una matriz de longitud N (grande) de k funciones distintas, y una matriz de longitud N de abcissa. Quiero evaluar las funciones en el abcissa para devolver una serie de ordenadas de longitud-N, y críticamente, necesito hacerlo muy rápido. He intentado el siguiente bucle en una llamada a np.where, que es demasiado lento: Crea […]

Python: ¿puede funcionar numba con matrices de cadenas en modo nopython?

Estoy usando pandas 0.16.2, numpy 1.9.2 y numba 0.20. ¿Hay alguna forma de que numba admita matrices de cadenas en el modo nopython? Alternativamente, ¿podría de alguna manera convertir cadenas a números que numba reconocería? Tengo que ejecutar ciertos bucles en una matriz de cadenas (una columna de un dataframe de pandas); si pudiera usar […]

¿Cómo sumr cuadrados de sum con limitaciones de memoria?

Este es un seguimiento de esta pregunta: ¿Cómo hacer una sum de sums del cuadrado de sum de sums? Donde estaba pidiendo ayuda para usar einsum (para lograr un gran aumento de velocidad) y obtuve una gran respuesta. También me dieron una sugerencia para usar numba . He intentado ambas cosas y parece que, después […]

Python / Numba: error de atributo desconocido con scipy.special.gammainc ()

Estoy teniendo un error al ejecutar el código utilizando el decorador @jit. Parece que no se puede localizar alguna información para la función scipy.special.gammainc (): Failed at nopython (nopython frontend) Unknown attribute ‘gammainc’ for Module() $164.2 $164.3 = getattr(attr=gammainc, value=$164.2) Sin el decorador @jit, el código funcionará bien. ¿Quizás hay algo necesario para que los […]

Enormes errores intentando numba

Estoy corriendo en una gran carga de errores utilizando numba. Irónicamente, el resultado correcto se imprime después de los errores. Estoy usando el python Anaconda más nuevo e instalé numba con conda install numba una vez en Ubuntu 13, 64 bits y también anaconda 64 bits y en Windows 64 bits con una versión de […]

Comparando Python, Numpy, Numba y C ++ para la multiplicación de matrices

En un progtwig en el que estoy trabajando, necesito multiplicar dos matrices repetidamente. Debido al tamaño de una de las matrices, esta operación toma algún tiempo y quería ver qué método sería el más eficiente. Las matrices tienen dimensiones (mxn)*(nxp) donde m = n = 3 y 10^5 < p < 10^6 . Con la […]

Coroutines en numba

Estoy trabajando en algo que requiere corrutinas rápidas y creo que numba podría acelerar mi código. Este es un ejemplo tonto: una función que ajusta su entrada y le agrega la cantidad de veces que se ha llamado. def make_square_plus_count(): i = 0 def square_plus_count(x): nonlocal i i += 1 return x**2 + i return […]

¿Necesitas ayuda para vectorizar código u optimizar

Estoy intentando hacer una doble integral interpolando primero los datos para hacer una superficie. Estoy usando numba para intentar acelerar este proceso, pero está demorando demasiado. Aquí está mi código, con las imágenes necesarias para ejecutar el código ubicado aquí y aquí .

Utilice numba para acelerar para bucle

Por lo que he leído, numba puede acelerar significativamente un progtwig de python. ¿Podría boost la eficiencia de tiempo de mi progtwig usando numba? import numpy as np def f_big(A, k, std_A, std_k, mean_A=10, mean_k=0.2, hh=100): return ( 1 / (std_A * std_k * 2 * np.pi) ) * A * (hh/50) ** k * […]

¿Cómo determinar si el rango de numba realmente funciona correctamente?

En otra Q + A ( ¿Puedo realizar una acumulación dinámica de filas en pandas? ) Hice un comentario sobre la corrección de usar el prange de este código (de esta respuesta ): from numba import njit, prange @njit def dynamic_cumsum(seq, index, max_value): cumsum = [] running = 0 for i in prange(len(seq)): if running […]