【发布时间】:2021-10-20 12:18:38
【问题描述】:
我需要将 Python 中的列表广播到更大的值。我实际上正在研究一种不使用 Numpy 的反向传播算法。在我有限的开发环境中,我也无权访问它。
据我了解,当您在两个数组上使用 Numpy.dot() 操作时,如果一个数组小于另一个数组,numpy 将广播一个数组,因此它们的大小相等。
dW = np.dot(dZ, A_prev.T) / m
当两者不可整除时,Numpy 如何处理广播数组?也就是当两个数组的模不等于0的时候?
就我而言,我有两个列表; len(dZ) 也等于 512,len(A_prev) 也等于 741。我应该如何处理广播 dZ 使其与 A_prev 的大小相同?
到目前为止我尝试过的是:
dZ = dZ * (len(dZ) + (len(A_prev) % len(dZ)))
然而,dZ 是一个巨大的数字,大约 16,000。我不知道为什么。
【问题讨论】:
-
IIRC
np.dot不广播,你必须自己提供合适的形状。 -
只是出于好奇,你的开发环境是什么,不允许使用numpy?
-
我不明白你想如何将 2 个不同长度的向量相乘?您能提供示例输入和输出吗?
标签: python numpy backpropagation