저는 최적화 방법에 대해 생각할 때 아직 애착이 있습니다. 발견 된 봉우리 목록을 가져 와서 이러한 봉우리가 어느 정도 가치가있는 부분을 다차원 배열에 배치하는 코드 섹션이 있습니다. 그런 다음 0을 0으로 색인에 +1합니다. 코드는 잘 작동하지만 실행하는 데 시간이 오래 걸립니다. 예를 들어 ind
의 값이 270이고 refVals
의 모양이 (3050,3130,80) 인 경우 실행하는 데 45 분이 걸립니다. 나는 그 많은 데이터가 휘젓다는 것을 이해한다. 그러나 이것에 관해서 더 효율적인 방법이 있는가?Numpy Masking의 속도 향상
maskData = np.zeros_like(refVals).astype(np.int16)
for peak in ind:
tmpArr = np.ma.masked_outside(refVals,x[peak]-2,x[peak]+2).astype(np.int16)
maskData[tmpArr.mask == False ] += 1
tmpArr = None
maskData = np.sum(maskData,axis=2)
접근 방식 # 1은 즉시 내 메모리를 지 웁니다. 그러나 그렇지 않으면 좋았을 것입니다. # 2와 # 3은 훌륭하게 작동합니다. 급격한 개선이 있습니다. 감사 – nanoPhD