python lambda语法错误

时间:2017-09-08 06:31:30

标签: python lambda

我正在学习构建神经网络的张量流,我在下面有一个示例代码:

import tensorflow as tf

# get weight of a layer, and add the l2 regularizer of the weight to the collection of 'losses'
def get_weight(shape, lambda):
    var = tf.Variable(tf.random_normal(shape), dtype = tf.float32)
    tf.add_to_collection('losses', tf.contrib.layers.l2_regularizer(lambda)(var))
    return var

我使用python 3.5来运行这个脚本,但我得到了这个:

  File "4.4.2.py", line 4
    def get_weight(shape, lambda):
                               ^
SyntaxError: invalid syntax

3 个答案:

答案 0 :(得分:2)

lambda是python中的保留字,不应该用作参数/变量名。这与所有其他reserved words相同。

答案 1 :(得分:2)

您正在尝试使用python lambda关键字将参数传递给函数。它无法完成。将lambda替换为其他内容。

答案 2 :(得分:1)

您应该使用_lambda而不是 lambda 变量,因为lambda是保留关键字。通常_附加到关键字以删除保留关键字和变量之间的冲突。