JY_0329 2020-01-31 17:54 采纳率: 100%
浏览 378
已采纳

用print确认过每个数组的维度,为什么还是会有这样的错?

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)
  • 写回答

1条回答 默认 最新

  • 迷茫猿小明 2020-02-01 10:24
    关注

    是啊这行,Wl=para['W'+str(1)]
    这个小写字母l和数字1傻傻分不清啊,小写字母l和大小写字母o不应该作为变量,请参考clean code

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月30日

悬赏问题

  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用