ValueError Traceback most recent call lastCell In20 line 67 64 nn = NeuralNetwork2 3 1 66 # 训练神经网络--- 67 nntrainX y 10000 69 # 预测新的数据 70 printnnpredictXC
在训练过程中,出现了形状不匹配的错误。错误提示显示,矩阵的形状为(50,3)和(1,3),而它们的第二个维度不匹配。
错误出现在以下代码行中:
self.error_hidden = np.dot(self.delta2, self.W2.T)
根据代码,我们可以看到self.delta2的形状为(50, 3),而self.W2.T的形状为(1, 3)。这两个矩阵无法进行矩阵乘法运算,因为它们的第二个维度不匹配。
为了解决这个问题,我们需要调整矩阵的形状,使它们可以进行矩阵乘法运算。具体而言,我们需要将self.delta2的形状从(50, 3)调整为(3, 50),以便与self.W2.T的形状(1, 3)匹配。
修改代码如下:
self.error_hidden = np.dot(self.delta2.T, self.W2)
这样,self.error_hidden的形状将变为(3, 50),可以与self.a1的形状(50, 2)匹配。
最后,重新运行代码,应该就可以解决这个错误了。
原文地址: https://www.cveoy.top/t/topic/iKlQ 著作权归作者所有。请勿转载和采集!