У меня есть 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
Как сделать в 100000 раз 2D FFT быстрее с помощью Python? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение