두 개의 ndarrays가 동일한 기본 ndarray의 뷰를 오버랩하는지 확인하고 싶습니다.numpy 배열의 두 조각이 동일하거나 겹치는 지 확인하려면 어떻게합니까?
내가 좋아하는 뭔가를 할 수있는, 두 조각은 정확히 동일한 지 확인하려면 버퍼의 비교가 간단한 경우 일 것 같았다
a.base is b.base and a.shape == b.shape and a.data == b.data
를 - 그것은 일반적으로 작동하는 경우 사람이 말해 줄 수?
안타깝게도이 방법은 슬라이스가 겹치는 작업이 아니며 버퍼에서 추출한 데이터를 기초 데이터에 정확히 추출하는 방법을 찾지 못했을 것입니다.
또한 a
및 b
가 x
슬라이스 말하는 및 c
는 b
의 조각이다. 기본 데이터가 동일하므로 c
과 a
사이의 겹침도 감지하고 싶습니다. 내가 버퍼와 모양을 비교하는 것으로 벗어날 수 있어야한다고 생각합니다. 누군가가 정확히 어떻게 말해 줄 수 있다면, 나는 감사 할 것입니다.
어떤 종류의 사례가 실패 할 것으로 예상합니까? 거짓 긍정을 생성하는 비 - 단일 단계로 비틀 거리는 조각이라면, 나는 그걸로 살 수 있습니다 .... – 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])'. –