Создание больших таблиц 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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