擅长:python、mysql、java
<p>我相信,您的代码中有一点混淆:您编写的<code>self.z</code>是<em>激活前的线性输出,但出于某种原因,您可以使用它来计算称为<code>dz</code>的激活导数。它应该使用激活值。然后,假设您计算了该值(我称之为<code>prime</code>,以避免与我的另一个<code>dz</code>混合),请尝试以下操作:</p>
<pre><code>dz = dy * prime
dW = np.dot(dz, self.z.T)
db = np.sum(dz, axis=1, keepdims=True)
d = np.dot(self.W.T, dz)
</code></pre>