Say Mam tablicy numpy a
i chcę, aby utworzyć nową tablicę, b
takie, że b[i, j]
jest funkcją, powiedzieć:wtykowy filtr na numpy tablicy
a[i-1, j-1], a[i-1, j ], a[i-1, j+1],
a[i , j-1], a[i , j ], a[i , j+1],
a[i+1, j-1], a[i+1, j ], a[i+1, j+1]
Jaki byłby najszybszym sposobem to zrobić?
Ponieważ jest to filtr separowalny, czy istnieje sposób na uruchomienie go w wielu wątkach? (nie procesy, ponieważ musiałbym skopiować dane z powrotem)
Lub pisze kod C, aby ominąć GIL obowiązkowe?
Częściowe rozwiązania (jak zakładanie, że funkcja jest liniowa) również są mile widziane.
Czy chodzi ci o rolkę/ruchome okno lub filtr? przykład w tym łączu jest dla sumowania dla okna 3x3 na tablicy 2D http://www.johnvinyard.com/blog/?p=268 –
Brzmi jak wiele innych pytań SO, najczęściej używając terminu 'przesuwane okna '(lub przenoszenie). Chociaż większość skupia się na iteracji przez okno, a nie na dzieleniu zadania pomiędzy wątki lub procesy. – hpaulj