MAYBETTY 2021-12-02 22:00 采纳率: 50%
浏览 21

关于python 中的for 循环

在做吴恩达深度学习中的编程正则化里面有一个block,我想要用循环解决问题。

img

这是有关的代码片段
m = Y.shape[1]
W1 = parameters["W1"]
W2 = parameters["W2"]
W3 = parameters["W3"]
我想用循环得出正则化的值,但是结果总是有问题。
for l in range(1,4):
L2_regularization_cost += (1./mlambd/2) * np.sum(np.square(Wl))
这是结果:
local variable 'L2_regularization_cost' referenced before assignment
这是答案提供的写法:
L2_regularization_cost = (1./m
lambd/2)*(np.sum(np.square(W1)) + np.sum(np.square(W2)) + np.sum(np.square(W3)))

我的循环代码里面哪里出错了呢?

  • 写回答

1条回答 默认 最新

  • CSDN专家-HGJ 2021-12-02 22:20
    关注

    代码中直接引起的错误是循环内的L2_regularization_cost没有赋值前引用,要实现变量值累加,变量需先初始化。另外直接用WI也不对,要么写成eval(f'W{I}'),要么直接遍历几个W值列表。

    L2_regularization_cost=0
    for w in [W1,W2,W3]:
        L2_regularization_cost += (1./m*lambd/2) * np.sum(np.square(w))
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月2日

悬赏问题

  • ¥15 关于#c语言#的问题:求完整代码条件好说
  • ¥100 HALCON DELPHI
  • ¥15 (需要远程,AI不回)VB6二进制文件转换成功,但是C#转换总是失败
  • ¥15 关于#matlab#的问题:有没有什么其他办法能够保证不退出进程(相关搜索:matlab调用)
  • ¥15 依据报错在原代吗格式的基础上解决问题
  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA