Python 索引器错误:布尔索引与维度1上的索引数组不匹配;维度为3,但相应的布尔维度为10

Python 索引器错误:布尔索引与维度1上的索引数组不匹配;维度为3,但相应的布尔维度为10,python,numpy,Python,Numpy,我应该如何修复此错误 dhidden[hidden <= 0] = 0 更多信息: 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是浮动的 我试过躲起来[hidd

我应该如何修复此错误

dhidden[hidden <= 0] = 0
更多信息:

 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是浮动的


我试过躲起来[hidden对于hidden,返回的布尔值超出dhidden的界限的索引。因此,表达式的结果可能返回超出dhidden界限的索引4,9。dhidden的维度可以大于hidden的维度,但不能反过来。如果只需要相关的va您可以尝试以下方法:


隐藏的[隐藏的[:,:3]hidden和dhidden有不同的形状,正如你可以清楚地看到的。它们不兼容。你能解释一下你试图通过使用一个作为另一个的掩码来实现什么吗?在这里应用ReLU作为激活函数。这里d代表梯度。不,不。你没有解释的是为什么这两个数组有不同的形状,当你期望的时候这样使用它们。错误很明显,数组有不同的形状。我们缺乏重要的上下文来说明切片数组是否有效。当然,它是通过编程实现的。但是,您是否真的在处理本应使用的数据?
 print(type(hidden))
<class 'numpy.ndarray'>
 print(type(hidden))

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