2017-10-10 3 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

'hidden'と' dhidden'ははっきりと分かるように、形が異なります。彼らは互換性がありません。 1つをマスクとして他のものを使用して、あなたが達成しようとしていることを説明できますか? – Reti43

+0

活性化機能としてReLUをここに適用します。 dは勾配を表します。 –

+1

いいえ、いいえ。あなたが説明していないのは、これらの2つの配列が、そのようなものを使用することを期待するときに、異なる形状を持つ理由です。エラーは明確で、アレイの形状は異なります。 – Reti43

答えて

0

hiddenのブール評価の戻り値は、dhiddenの範囲外です。したがって、式の結果がdhiddenの範囲外のインデックス4,9を返す場合があります。 dhiddenのディメンションは、隠されたディメンションのディメンションよりも大きくなる可能性がありますが、その逆のディメンションはありません。あなたがhiddenの唯一の関連する値を望んでいた場合は、次のことを試みることができる:

Reti43の提案@パー

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

:最初の3列が非表示から関連していることを前提としていることに注意することが重要です。

+0

我々は、アレイのスライスが機能するかどうかについて重要な文脈がない。確かに、プログラム的にはそうです。しかし、実際にあなたが働いていることを意図したデータに取り組んでいますか? – Reti43

関連する問題