Кэширование jit-скомпилированных функций в numba - PullRequest
2 голосов
/ 08 июля 2019

Я хочу скомпилировать ряд часто используемых функций с использованием numba, и, поскольку мне нужно только запустить их на моем компьютере с одинаковыми сигнатурами, я хочу их кэшировать.Но, пытаясь сделать это, numba говорит мне, что функция не может быть кэширована, потому что она использует большие глобальные массивы.Это конкретное предупреждение, которое оно отображает.

NumbaWarning: Невозможно кэшировать скомпилированную функцию "sigmoid", так как она использует динамические глобальные переменные (такие как указатели ctypes и большие глобальные массивы)

Я знаю, что глобальные массивы обычно замораживаются, а большие - нет, но поскольку моя функция выглядит следующим образом:

@njit(parallel=True, cache=True)
def sigmoid(x):
    return 1./(1. + np.exp(-x))

Я не вижу никаких глобальных массивов, особенно больших.
Где находитсяпроблема

...