我正在学习构建神经网络的张量流,我在下面有一个示例代码:
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
答案 0 :(得分:2)
lambda
是python中的保留字,不应该用作参数/变量名。这与所有其他reserved words相同。
答案 1 :(得分:2)
您正在尝试使用python lambda
关键字将参数传递给函数。它无法完成。将lambda
替换为其他内容。
答案 2 :(得分:1)
您应该使用_lambda而不是 lambda 变量,因为lambda是保留关键字。通常_附加到关键字以删除保留关键字和变量之间的冲突。