Как сделать в 100000 раз 2D FFT быстрее с помощью Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как сделать в 100000 раз 2D FFT быстрее с помощью Python?

Сообщение Anonymous »

У меня есть 3D Numpy Array с формой (100000, 256, 256), и я хотел бы сделать FFT на каждом стеке 2D массива, что означает 100000 раз FFT.

Я протестировал скорость одиночных и сложенных данных с минимальным кодом ниже. < /p>

import numpy as np
a = np.random.random((256, 256))
b = np.random.random((10, 256, 256))

%timeit np.fft.fft2(a)

%timeit np.fft.fftn(b, axes=(1, 2,))
< /code>

, который дает следующее: < /p>

872 µs ± 19.2 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)< /code> < /p>

6.46 ms ± 227 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)< /code> < /p>

100000 times of fft will take more than one minite.

Is there any faster way to do multiple fft or ifft at the same time?

Update:
After a bit search, I found cupy, which seems can help.

Подробнее здесь: https://stackoverflow.com/questions/550 ... ing-python
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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