def initialize(layer_dims):
para={}
L=len(layer_dims)
for l in range(1,L):
para['W'+str(l)]=np.random.randn(layer_dims[l],layer_dims[l-1])*0.01
para['b'+str(l)]=np.zeros((layer_dims[l],1))
return para
def forward(X,layer_dims,para):
cache={}
L=len(layer_dims)-1
A_pre = X
for l in range(1,L):
Wl=para['W'+str(1)]
bl=para['b'+str(l)]
Zl = np.dot(Wl,A_pre)+bl
assert(Zl.shape == (Wl.shape[0],A_pre.shape[1]))
layer_dims = [12288, 20, 7, 5, 1]
X的维度是(12288,209)
W1的维度应该是(20,12288)但是在用Wl.shape[0]输出时结果却是20 20
为什么shape[0]会有2个输出结果,Wl.shape[1]也有2个输出结果 :12288 12288
然后在计算上面的代码段时就出现了
![图片说明](https://img-ask.csdn.net/upload/202001/31/1580464520_6444.png)