Создание больших таблиц Numpy с трансляцией — как ускоритьPython

Программы на Python
Anonymous
Создание больших таблиц Numpy с трансляцией — как ускорить

Сообщение Anonymous »

В коде Python мне нужно вычислить огромную четырехмерную таблицу из ~5000x50x100x100 элементов.
Она содержит нормальное распределение, параметры которого охватывают разные измерения, и создание по сути выглядит так:

Код: Выделить всё

result = gaussian( val[np.newaxis, :, np.newaxis, np.newaxis],
mean[:, np.newaxis, :,  :],
sigma[:, np.newaxis, np.newaxis, np.newaxis]
)
Где очевидно гауссово:

Код: Выделить всё

def gaussian(x, mu, sigma):
return np.exp(-0.5 * ((x - mu) / sigma) ** 2) / np.sqrt(2 * np.pi ) / sigma
Самое создание этой таблицы занимает очень много времени и существенно замедляет работу кода. Есть ли какой-нибудь очевидный способ ускорить этот шаг?

Подробнее здесь: https://stackoverflow.com/questions/798 ... o-speed-up

Вернуться в «Python»