Chciałbym sprawdzić, czy dwa ndarrays nakładają się na widoki tego samego podstawowego ndarray.Jak sprawdzić, czy dwa plasterki numpy tablice są takie same (lub nakładających się)?
Aby sprawdzić, że dwa plastry są dokładnie takie same, mogę zrobić coś takiego:
a.base is b.base and a.shape == b.shape and a.data == b.data
Porównanie buforów wydawało się do pracy w jednym prostym przypadku - może ktoś mi powiedzieć, czy to działa w ogóle?
Niestety, to przyzwyczajenie do nakładających się plasterków, a ja nie wymyśliłem, jak wyodrębnić z bufora dokładnie to, jakie jest jego przesunięcie w podstawowych danych - może ktoś może mi w tym pomóc?
Również powiedzieć a
i b
są plastry x
i c
jest kawałek b
. Ponieważ dane wyjściowe są takie same, chciałbym również wykryć nakładanie się między c
i a
. Wydawałoby się, że powinienem móc uciec, porównując tylko bufor i kształt ... gdyby ktoś mógł mi dokładnie powiedzieć, byłbym wdzięczny.
Jakiego rodzaju spraw mogę się spodziewać? Jeśli po prostu przesuwające się fragmenty z krokiem niejednoczesności, który generuje fałszywy pozytyw, mogę z tym żyć ... – shaunc
'x [0 :: 2]'/'x [1 :: 2]'. 'x [:, 0: 5]', 'x [:, 5:10]'. 'x = np.dstack (* args); np.may_share_memory (x [0], x [1]) ". –