Передать список массивов разного размера в функцию Numba - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть предварительно вычисленный список массивов разного размера, и я хотел бы передать его функции Numba.

from numba import jit
import numpy as np

@jit(nopython=True)
def go_fast(a, b): 
    ...
    return output

a = np.arange(100).reshape(10, 10)
b=[np.arange(4),np.arange(9)]

(На самом деле элементы b - это более сложные массивы, но это только пример). Как я могу выполнить это? Я знаю, что Numba не любит списки.

Один из способов - превратить b в массив больших размеров с отступом, но для извлечения реальных элементов потребуются циклы, что не идеально. Есть ли лучший способ?

1 Ответ

0 голосов
/ 24 апреля 2020

Похоже, что списки списков поддерживаются в более новых версиях:

https://numba.pydata.org/numba-doc/dev/reference/pysupported.html

Другой вариант - это печатные списки и печатные символы:

https://numba.pydata.org/numba-doc/dev/reference/pysupported.html#dict https://numba.pydata.org/numba-doc/dev/reference/pysupported.html#list

...