2017-10-10 2 views
-4

이 오류는 어떻게 해결해야합니까? IndexError : 부울 인덱스가 차원 1의 인덱스 배열과 일치하지 않습니다. 차원은 3이지만 해당 부울 차원은 10입니다.

dhidden[hidden <= 0] = 0 

나에게 오류를 제공합니다 :

IndexError: boolean index did not match indexed array along dimension 1; dimension is 3 but corresponding boolean dimension is 10 

상세 정보 :

print(type(hidden)) 
<class 'numpy.ndarray'> 
print(type(hidden)) 

<class 'numpy.ndarray'> 
print(dhidden.shape) 
(5, 3) 
print(hidden.shape) 
(5, 10) 

hidden.dtype 및 dhidden.dtype이 float64

내가 [< 숨겨진 = 0.0 dhidden 시도됩니다 ] = 0.0 그리고 여전히 같은 오류가 발생합니다.

+1

'숨김'과 '숨김'은 분명히 볼 수있는 것처럼 다른 모양을 가지고 있습니다. 호환되지 않습니다. 하나를 다른 마스크로 사용하여 달성하려는 것을 설명 할 수 있습니까? – Reti43

+0

여기에 ReLU가 활성화 기능으로 적용됩니다. 여기서 d는 그래디언트를 나타냅니다. –

+1

아니요, 아니요. 당신이 설명하지 않은 것은이 두 배열이 그것들을 사용할 때 다른 모양을 갖는 이유입니다. 오류는 분명합니다. 배열의 모양이 다릅니다. – Reti43

답변

0

hidden에 대한 부울 계산 결과가 dhidden 범위를 벗어난 색인입니다. 표현식의 결과가 dhidden의 범위를 벗어나는 인덱스 4, 9를 리턴하는 경우 일 수 있습니다. dhidden의 크기는 숨겨진 크기보다 클 수 있지만 다른 방법은 아닙니다. 당신이 hidden의 관련 값을 원하는 경우 다음을 시도해 볼 수도 있습니다 : @ Reti43의 제안 당

dhidden[hidden[:, :3] <=0] = 0

을 :이은 처음 3 열 숨겨진에서 관련이있는 것으로 가정하는 것이 중요하다.

+0

우리는 배열을 잘라내는 것이 효과가 있는지에 대한 중요한 컨텍스트가 부족합니다. 물론, 프로그래밍 방식으로 작동합니다. 하지만 실제로 당신이 일하기를 의미하는 데이터를 작업하고 있습니까? – Reti43