我遇到过这行代码。
loss={'ctc': lambda y_true, y_pred: y_pred}
1。 lambda的功能在这里是什么?
2。这里'ctc'有什么用?
答案 0 :(得分:4)
lambda函数返回第二个参数:y_pred 它就像这个函数一样:
def foo(y_true, y_pred):
return y_pred
使用'ctc'作为字典loss
中的一个关键字:
loss['ctc'] = lambda y_true, y_pred: y_pred
例如我可以这样做:
loss['ctc'](0, 1)
这将返回1
答案 1 :(得分:2)
这里是lambda本身的函数,
lambda y_true, y_pred: y_pred
相应的功能,
def something(y_true, y_pred):
return y_pred
y_true,y_pred 两者都是传入函数的结果,
y_pred 返回值,存储在键'ctc'中
答案 2 :(得分:1)
lambda y_true, y_pred: y_pred
可以扩展为:
def foo(y_true, y_pred):
return y_pred
# function takes two parameters, returns second parameter.
关于lambda的注释:
lambda运算符或lambda函数是一种创建小的方法 匿名函数。
Lambda函数是一次性函数,即只要它们被创建就需要它们。
ctc
是字典loss
中的关键字。
loss = {'ctc': lambda y_true, y_pred: y_pred}
可以写成,
loss['ctc'] = lambda y_true, y_pred: y_pred