津津乐道 发表于 2020-10-6 08:33:57

老哥们 最近自己在自学深度学习 有一段语句看不懂 希望老哥们给解个惑

在定义的一个类里 出现这样的语句

def numerical_gradient(self,x,t):
   loss_W=lambda W:self.loss(x,t)

这里面loss是上面定义过的函数 我学过的lambda 后面跟的变量 都是要带入到函数里的 这种W从未定义过的lambda第一次见 有没有老哥能帮我把这个写开 写成不是lambda的形式 十分感谢

疾风怪盗 发表于 2020-10-6 08:54:14

loss_w函数是函数的lambda表达式
loss_w = lambda W: self.loss(x, t)
实际应该表示为

def loss_w(w):
        return self.loss(x,t)

其中w为函数f的输入参数,self.loss(x,t)为每次函数执行的方法体,调用loss函数
loss函数x为输入 t为正确解标签数据
不难看出来loss_w函数无论w参数传入什么都只是调用的loss函数

https://blog.csdn.net/qq_38250124/article/details/107804368
页: [1]
查看完整版本: 老哥们 最近自己在自学深度学习 有一段语句看不懂 希望老哥们给解个惑